Как указать URL и заголовок в позвоночнике, чтобы использовать метод crud на моей модели?

Мне нужно сделать запрос на сервере, который нуждается в особом ключе api, и мне нужно использовать метод crud tu обновить мою модель и как только...

Например, у меня есть этот код в 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 или другого?

Ответ 1

Каждый из методов 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);
};