Seguindo a documentação , eu fiz:
var collection = new Backbone.Collection.extend({
model: ItemModel,
url: '/Items'
})
collection.fetch({ data: { page: 1} });
o URL acabou sendo: http://localhost:1273/Items?[object%20Object]
Eu estava esperando algo como http://localhost:1273/Items?page=1
Então, como passo parâmetros no método de busca?
javascript
backbone.js
Shawn Mclean
fonte
fonte
JSON.stringify({ data: { page: 1} })
?collection.fetch(JSON.stringify({ data: { page: 1} }));
e nada foi passado no URL.Respostas:
mudando:
para:
Então, sem fazer isso, isso é chamado com seu
{data: {page:1}}
objeto comooptions
Por isso, envia os 'dados' para o jQuery.ajax, que fará o possível para acrescentar o que quer que
params.data
seja à URL.fonte
Você também pode definir processData como true:
O Jquery processará automaticamente o objeto de dados na string param,
mas na função Backbone.sync, o Backbone desativa o processData porque o Backbone usará outro método para processar dados em POST, UPDATE ...
na fonte Backbone:
fonte
Outro exemplo se você estiver usando a liga de titânio:
fonte
fonte