5

私の REST サーバーでは、すべてのリクエストに access_token が存在する必要があります。つまり、データの POST では、access_token を属性と一緒に送信する必要があります。

すべての GET、PUT、POST、および DELETE 要求に access_token を追加するように backbone.js を構成するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

4

さて、jQuery でそれを行う方法を見つけたと思います。

$.ajaxSetup (
   {
      data: { access_token: 'my_access_token' }
   }
);
于 2012-12-07T13:14:12.783 に答える
1

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);
};
于 2012-12-07T12:52:34.990 に答える