[javascript] Backbone.js holt mit Parametern



Answers

Sie können processData auch auf true setzen:

collection.fetch({ 
    data: { page: 1 },
    processData: true
});

Jquery wird Datenobjekt automatisch in Param-String verarbeiten.

aber in Backbone.sync Funktion, Backbone schalten Sie die Prozessdaten aus, da Backbone andere Methode verwenden wird, um Daten in POST, UPDATE ...

in Backbone Quelle:

if (params.type !== 'GET' && !Backbone.emulateJSON) {
    params.processData = false;
}
Question

Nach der documentation ich:

var collection = new Backbone.Collection.extend({
        model: ItemModel,
        url: '/Items'
})

collection.fetch({ data: { page: 1} });

Die URL stellte sich wie http://localhost:1273/Items?[object%20Object] heraus: http://localhost:1273/Items?[object%20Object]

Ich habe etwas wie http://localhost:1273/Items?page=1 erwartet

Wie übergebe ich Params in der Fetch-Methode?




try {
    // THIS for POST+JSON
    options.contentType = 'application/json';
    options.type = 'POST';
    options.data = JSON.stringify(options.data);

    // OR THIS for GET+URL-encoded
    //options.data = $.param(_.clone(options.data));

    console.log('.fetch options = ', options);
    collection.fetch(options);
} catch (excp) {
    alert(excp);
}



Links