0

Backbone.jsを使用してサーバーから受信したXMLからリストをダウンロード、解析、表示しようとしています。コードは次のようなものです。

var Item = Backbone.collection.extend({
    url: "http://myurl.com/file.xml",
    parse: function() {
        console.log("parse");
    },
    success: function(data) {
        console.log(data);
    },
    error: function() {
        console.log("error");
    }
});

var View1=Backbone.view.extend({
    initialize: function() {
        var item = new Item();
        item.fetch();
    }
});

Chrome拡張機能でチェックすると、XMLファイルがダウンロードされますが、、、に配置されたブレークポイントはparse直接successerror到達しますerror

そして、3つの引数がありますが、そこから情報を抽出することはできません。

4

1 に答える 1

0

バックボーンはXMLのフェッチをサポートしていないため、独自のカスタム解析機能を提供するには、syncメソッドをオーバーライドする必要があります。バックボーンの内部をいじる必要がない場合は、最初に$ .ajax GETを実行し、応答を適切なJSON配列に解析してから、その配列をBackbone#Collection-resetで使用してみてください。

Backbone#Collection-fetch

フェッチリクエストのサーバーハンドラーは、モデルのJSON配列を返す必要があります。

Backbone#Sync

デフォルトの実装では、Backbone.syncがモデルを保存するリクエストを送信すると、その属性が渡され、JSONとしてシリアル化され、コンテンツタイプのapplication/jsonを使用してHTTP本文で送信されます。JSON応答を返すときは、サーバーによって変更され、クライアントで更新する必要があるモデルの属性を送信します。コレクションからの「読み取り」要求(Collection#fetch)に応答するときは、モデル属性オブジェクトの配列を送信します。

于 2012-07-16T11:37:25.100 に答える