Postępując zgodnie z dokumentacją :
var collection = new Backbone.Collection.extend({
model: ItemModel,
url: '/Items'
})
collection.fetch({ data: { page: 1} });
Okazało się, że adres URL to: http://localhost:1273/Items?[object%20Object]
Spodziewałem się czegoś takiego http://localhost:1273/Items?page=1
Jak więc przekazać parametry w metodzie pobierania?
javascript
backbone.js
Shawn Mclean
źródło
źródło
JSON.stringify({ data: { page: 1} })
?collection.fetch(JSON.stringify({ data: { page: 1} }));
i nic nie zostało przekazane w adresie URL.Odpowiedzi:
wymiana pieniędzy:
do:
Więc bez nadmiernego robienia tego, jest to wywoływane z twoim
{data: {page:1}}
obiektem jakooptions
Wysyła więc „dane” do jQuery.ajax, który zrobi wszystko, co w jego mocy, aby dołączyć
params.data
to, co jest do adresu URL.źródło
Możesz również ustawić processData na true:
Jquery automatycznie przetworzy obiekt danych na łańcuch parametrów,
ale w funkcji Backbone.sync Backbone wyłącza processData, ponieważ Backbone użyje innej metody do przetwarzania danych w POST, UPDATE ...
w źródle Backbone:
źródło
Inny przykład, jeśli używasz stopu tytanu:
źródło
źródło