Backbone.js 如何在主干中指定url和标头,以便在我的模型上使用crud方法?

Backbone.js 如何在主干中指定url和标头,以便在我的模型上使用crud方法?,backbone.js,Backbone.js,我需要在需要特定api密钥的服务器上发出请求,我需要使用crud方法更新我的模型,并尽快 例如,我在ajax中使用以下代码从服务器获取元素: function getapi() { $.ajax({ url: 'https://api.parse.com/1/classes/autolavaggi/QSfl*****', type: 'GET', dataType: 'json', success: function(obj) { ale

我需要在需要特定api密钥的服务器上发出请求,我需要使用crud方法更新我的模型,并尽快

例如,我在ajax中使用以下代码从服务器获取元素:

 function getapi() {

$.ajax({
    url: 'https://api.parse.com/1/classes/autolavaggi/QSfl*****',
    type: 'GET',
    dataType: 'json',

    success: function(obj) { 

        alert("nome autolavaggio "+obj.nome);

    },
    error: function() {
        alert('Errore');


    },
    beforeSend: setHeader
});
}  

    //GET GET  GET  GET  GET GET  GET  GET  Header Header Header Header
    function setHeader(xhr) {
xhr.setRequestHeader('X-Parse-Application-Id', 'aqLJlmE2rRXBOy***************');
xhr.setRequestHeader('X-Parse-REST-API-Key', 'gvT2Isd5vAvjgq*****************');
}

如何将这个特定的ajax调用分配给crud方法save、fetch或其他???

每个crud方法都接受一个选项散列,该散列将被转发到ajax调用。对于集合获取,请执行以下操作:

var Model = Backbone.Model.extend({});
var Collection = Backbone.Collection.extend({
  model: Model,
  url: 'https://api.parse.com/1/classes/autolavaggi/QSfl*****'
});

var setHeader = function (xhr) {
  xhr.setRequestHeader('X-Parse-Application-Id', 'aqLJlmE2rRXBOy***************');
  xhr.setRequestHeader('X-Parse-REST-API-Key', 'gvT2Isd5vAvjgq*****************');
}

var collection = new Collection();
collection.fetch({ beforeSend: setHeader });
或者,覆盖同步:

var sync = Backbone.sync;
Backbone.sync = function(method, model, options) {
  options.beforeSend = function (xhr) {
    xhr.setRequestHeader('X-Parse-Application-Id', 'aqLJlmE2rRXBOy***************');
    xhr.setRequestHeader('X-Parse-REST-API-Key', 'gvT2Isd5vAvjgq*****************');
  };

  // Update other options here.

  sync(method, model, options);
};

这是一个重写方法sync的示例吗?这是一个在不重写sync的情况下操作结果ajax请求的示例。我更新了这篇文章,还包括了一个全局覆盖同步的示例。但是在代码的哪一部分(模型、集合ecc)中,我可以写入同步覆盖吗?如果您想全局执行同步,以便它适用于所有模型和集合,请重写Backbone.sync。如果只想为单个模型或集合使用它,请重写该模型或集合的sync方法。只需重写Backbone.sync,类似于上面在任何REST调用之前执行的位置。