2

ブラウザで backbone.js を使用してサーバーと通信するプロジェクトを実装しています。モデルに追加せずにリクエストでAPIキーを送信することは可能ですか? 応答時に、アクセストークンなど、実際のモデルとは関係のないデータを確認できますか?

ありがとうございました。

4

2 に答える 2

3

ほとんどすべての ajax リクエストで API キーを追加する必要があるためです。ajax 呼び出しが送信されるたびに呼び出される jquery 関数を使用しました。

$.ajaxPrefilter(function (options, originalOptions, jqXHR){ 
  var newObject = {
     append_new : 'APIKey'
  }

  options.data = $.param($.extend(originalOptions.data, newObject));
});

そして、私が使用した返信部分について:

$('body').ajaxSuccess(function(e, xhr, settings){
  console.log(xhr);
});
于 2012-05-18T08:24:49.730 に答える
3

これで始められるはずです

//the api key object
var apikey = {api:"^@%&HJJHJSDNkkjGHGSd*^*JHJ"};

//Backbone model
var model = Backbone.Model.extend({
url:"/todo",
sync:function(method,model,options){
  _.extend(model.attributes,apikey);
  Backbone.sync(method,model,options);
}});

アップデート

//the api key object
var apikey = {api:"^@%&HJJHJSDNkkjGHGSd*^*JHJ"};

//Backbone model
var model = Backbone.Model.extend({
url:"/todo",
sync:function(method,model,options){
    $.ajaxSetup({headers:apikey});
    Backbone.sync(method,model,options);
}});

var x = new model({todo:"Welcome"}).save();
​

「むしゃむしゃ」モデルをサービスに送信するのは意味がないと考えた後、更新されたコードは要求ヘッダーに apikey を添付します。リクエストヘッダーで検索するキーはapiです

于 2012-05-17T10:15:17.070 に答える