0

問題の解決策を得るために、jsfiddleで作成しているアプリのデモを設定しようとしています。ajax呼び出しを行う必要があります。jsFiddleにはajax呼び出しをモックするためのエコーAPI(ここでは例のフィドルhttp://jsfiddle.net/zalun/yVbYQ/)がありますが、以下のようにバックボーンモデルまたはコレクション内に統合する方法がわかりません。これがバックボーンモデルのフィドルです... http://jsfiddle.net/mjmitche/RRXnK/117/それが役立つ場合。

var Game = Backbone.Model.extend({

    initialize: function () {

    },
    getStuff: function () {
        var _this = this;

        $.ajax({
            url: "http://search.twitter.com/search.json?q=from:realDonaldTrump",
            type: "GET",
            success: function (response) {
               alert(response.results[0]);
                alert("success");
               _this.trigger("gameStartedEvent", response);
            },
            error: function (r) {
                alert("error");
                alert(r);

            }
        });

    }

});

var game = new Game();
game.getStuff();

jsfiddleモックajax呼び出しの例

new Request.JSONP({
    url: 'http://jsfiddle.net/echo/jsonp/',
    data: {
        tweet1: 'some text',
        tweet2: 'another text'
        tweet3: 'blah blah'
    },
    onSuccess: function(response) {
        show_response(response, $('post'));
    }
}).send();

show_response = function(obj, result) {
    $H(obj).each(function(v, k) {
        new Element('li', {
            text: k + ': ' + v
        }).inject(result);
    });
    result.highlight();
};
4

1 に答える 1

0

JSFiddleエコーAPIは、バックボーンCRUDの実装に必要な一連のHTTP操作をサポートしていません。POST /echo新しいモデルをモックで作成できますが、それだけです。

代わりに、クライアントでサービスをモックするオプションをfakeServer備えたsinon.jsを検討してください。autoRespondこれにはもう少し作業が必要ですが、より「真の」モックが提供されます。

FWIW、通常のCRUDのユースケースでは、Backbone.localStorageをお勧めします。これはのドロップイン置換でBackbone.syncあるため、リソースとして含め、コレクションのurlプロパティをに変更するだけlocalStorageで、ビジネスを開始できます。ただし、AJAXリクエストを手動で行っているため、これは機能しません。そのため、低くする必要があります。

于 2013-02-05T07:14:00.803 に答える