2012-07-13 10 views
11

Potrzebuję zwrócić się do serwera, który potrzebuje konkretnego klucza API i muszę użyć metody crud, aby zaktualizować mój model i jak tylko ...Jak określić adres URL i nagłówek w szkielecie, aby użyć metody crud w moim modelu?

Na przykład mam ten kod w ajax, aby uzyskać element z serwer:

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*****************'); 
} 

Jak mogę to zrobić, aby przypisać to konkretne wywołanie ajax do metody crud save, fetch lub innej?

Odpowiedz

19

Każda z metod crud akceptuje skrót mieszania opcji, który zostanie przekazany do wywołania ajax. W przypadku kolekcji pobrania:

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 }); 

Alternatywnie, korekcja synchronizacji:

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); 
}; 
+0

Jest to przykład ręcznym o metodę synchronizacji ?? –

+0

To był przykład manipulowania wynikową kwerendy ajax bez przesłonięcia synchronizacji. Zaktualizowałem wpis, aby zawierał także przykład globalnej nadpisującej synchronizacji. – jmconrad

+0

Ale w której części kodu (model, kolekcja ecc.) Mogę napisać nadpisanie synchronizacji? –

Powiązane problemy