Nach der Dokumentation habe ich:
var collection = new Backbone.Collection.extend({
model: ItemModel,
url: '/Items'
})
collection.fetch({ data: { page: 1} });
Die URL stellte sich heraus als: http://localhost:1273/Items?[object%20Object]
Ich hatte so etwas erwartet http://localhost:1273/Items?page=1
Wie übergebe ich Parameter in der Abrufmethode?
javascript
backbone.js
Shawn Mclean
quelle
quelle
JSON.stringify({ data: { page: 1} })
?collection.fetch(JSON.stringify({ data: { page: 1} }));
und nichts wurde in der URL übergeben.Antworten:
Ändern:
zu:
Ohne es zu übertreiben, wird dies mit Ihrem
{data: {page:1}}
Objekt als aufgerufenoptions
Daher sendet es die 'Daten' an jQuery.ajax, das sein Bestes tut, um alles
params.data
an die URL anzuhängen .quelle
Sie können processData auch auf true setzen:
Jquery verarbeitet das Datenobjekt automatisch in eine Parameterzeichenfolge.
In der Funktion Backbone.sync deaktiviert Backbone die processData, da Backbone eine andere Methode zum Verarbeiten von Daten in POST, UPDATE ... verwendet.
in der Backbone-Quelle:
quelle
Ein weiteres Beispiel für die Verwendung von Titanlegierung:
quelle
quelle