一种骨干模型的JSON表示

时间:2012-05-31 10:24:55

标签: ajax json backbone.js

使用fetch方法分叉json文件会在我的代码中触发错误。似乎来自服务器的响应是不对的。详情请参阅下面的广告模型

//Advertisement model
App.Tasks.Model.Ads = Backbone.Model.extend({
    url: "ads/ads.json",
    intialize: function () {

    },
    Next: function () {
        var ads = this.get("ads");
        return ads[Math.ceil(Math.random(0, ads.legth) * 10)];
    }
});

调用fetch()时服务器响应应该如何。现在它如下所示

{ads: ["1.png", "2.png", "3.png"]}

执行此操作会触发错误回调

//Advertisement model
App.Tasks.Ads = new App.Tasks.Model.Ads();
App.Tasks.Ads.fetch({
    success: function (model, response) {
        console.log("Success", arguments);
    },
    error: function (model, response) {
        console.log("Error", arguments);
    }
});

1 个答案:

答案 0 :(得分:1)

您的服务器使用无效的JSON进行响应,名称/值对中的左侧部分必须是字符串,这意味着ads应该用双引号括起来:

{"ads": ["1.png", "2.png", "3.png"]}

有关完整参考,请查看http://www.json.org/