私の REST サーバーでは、すべてのリクエストに access_token が存在する必要があります。つまり、データの POST では、access_token を属性と一緒に送信する必要があります。
すべての GET、PUT、POST、および DELETE 要求に access_token を追加するように backbone.js を構成するにはどうすればよいですか?
ありがとう。
私の REST サーバーでは、すべてのリクエストに access_token が存在する必要があります。つまり、データの POST では、access_token を属性と一緒に送信する必要があります。
すべての GET、PUT、POST、および DELETE 要求に access_token を追加するように backbone.js を構成するにはどうすればよいですか?
ありがとう。
さて、jQuery でそれを行う方法を見つけたと思います。
$.ajaxSetup (
{
data: { access_token: 'my_access_token' }
}
);
Backbone は AJAX リクエストに jQuery/Zepto を使用するため、これらのライブラリで利用可能な機能を使用できます。
jQuery によって行われるすべての XHR 呼び出しにカスタム ヘッダーを追加するには、すべての ajax リクエストの前にトリガーされるjQuery.ajaxSend イベントを使用し、引数として受け取る jqXHR を変更します。
OPのコメントに基づいて編集:
おそらく、送信されたデータを変更する最も簡単な方法は、Backbone.sync関数をオーバーライドすることです。ネイティブ実装をラップし、そこに必要なプロパティを追加できます。
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);
};