Suite à la documentation , j'ai fait:
var collection = new Backbone.Collection.extend({
model: ItemModel,
url: '/Items'
})
collection.fetch({ data: { page: 1} });
l'URL s'est avérée être: http://localhost:1273/Items?[object%20Object]
Je m'attendais à quelque chose comme http://localhost:1273/Items?page=1
Alors, comment puis-je passer des paramètres dans la méthode fetch?
javascript
backbone.js
Shawn Mclean
la source
la source
JSON.stringify({ data: { page: 1} })
?collection.fetch(JSON.stringify({ data: { page: 1} }));
et rien n'a été passé dans l'url.Réponses:
en changeant:
à:
Donc, sans trop le faire, cela s'appelle avec votre
{data: {page:1}}
objet commeoptions
Il envoie donc les 'données' à jQuery.ajax qui fera de son mieux pour ajouter ce qui
params.data
est à l'URL.la source
Vous pouvez également définir processData sur true:
Jquery traitera automatiquement l'objet de données en chaîne de paramètres,
mais dans la fonction Backbone.sync, Backbone désactive processData car Backbone utilisera une autre méthode pour traiter les données dans POST, UPDATE ...
dans la source Backbone:
la source
Un autre exemple si vous utilisez un alliage de titane:
la source
la source