0

Backbonejs (1.0.0) を使用したプロジェクトに取り組んでおり、モデルを取得しようとしています。間違っている場合は訂正してください。ただし、モデルをフェッチするということは、サーバーからデータを取得し、モデルの属性を更新することを意味します。だから、私がしたこと:

モデル:

var Lead = Backbone.Model.extend({
    idAttribute     : "project_id",
    defaults: {
        ws_qs       : 'toto'
    }
});

アクション:

/* this.model comes from a collection, which has been fetched earlier. 
   So this.model contains correct data. I just want to refresh from the server. */
var tmpModel = this.model;
this.model.set({ws_qs : "youpi"}, {silent:true});

this.model.fetch({
  success : function (model) {
    // do something
  }
});

Fetch は正しい URL で XHR 呼び出しを生成します。

いくつかのアイデア: Chrome デバッガーでは、XHR 呼び出しの応答は空ですが、ブラウザーで xhr 呼び出し URL を開くと、正しい JSON が表示されます。

そのバグに6時間費やしました...誰か助けてくれませんか? ありがとう。

4

2 に答える 2

1

Chrome デバッガーが XHR に対して空の応答を示した場合、それはサーバーが正しく動作していないことを強く示しています。サーバー側のコードにアクセスできますか? おそらく、サーバー コードはリクエスト ヘッダーを見て、X-Requested-WithヘッダーがXMLHttpRequest?

このコマンド ラインcurl -v -H "X-Requested-With: XMLHttpRequest" <url>を試して、応答ヘッダーと本文がどのように見えるかを確認してください。

于 2013-05-30T14:26:41.693 に答える