Sieć szkieletowa używa jQuery/Zepto dla żądań AJAX, dzięki czemu można korzystać z funkcji dostępnych w tych bibliotekach.
Aby dodać niestandardowe nagłówki do wszystkich wywołań XHR wykonanych przez jQuery, można użyć jQuery.ajaxSend event, który jest wyzwalany przed każdym żądaniem ajaxowym i modyfikować jqXHR, który otrzymuje jako argument.
Edycja oparty na komentarze OP:
Prawdopodobnie najprostszym sposobem, aby zmodyfikować dane wysyłane jest nadpisanie funkcji Backbone.sync. Można owinąć natywnej implementacji i dodać wymaganą właściwość tam:
var nativeSync = Backbone.sync;
Backbone.sync = function (method, model, options) {
//for POST/PUT requests, add access token to the request
if(model && (method === 'create' || method === 'update')) {
var data = _.extend(model.toJSON(), {
access_token: 'token'
});
options.data = JSON.stringify(data);
}
//call the native Backbone.sync implementation
nativeSync(method, model, options);
};
Witaj fencliff. Co się stanie, jeśli chcę, aby access_token znajdował się w samym ładunku danych, a nie w nagłówkach, w jaki sposób mogę to osiągnąć? Czy I $ .ajaxSend (funkcja (e, jqxhr, ustawienia) {settings.data.access_token = 'mytoken'}) to? – Mikko
Można to również zrobić - ale czy na pewno chcesz, aby access_token został dodany do żądań GET i DELETE? Nie jest typowym zapewnienie ciała żądania przy użyciu tych czasowników, a większość serwerów WWW i tak ignoruje ciało. – jevakallio
Właściwie używam serwera REST https://github.com/philsturgeon/codeigniter-restserver i podczas sprawdzania kodu źródłowego polegają one na treści żądania. – Mikko