Backbone uncaught错误:

时间:2014-11-05 05:31:08

标签: javascript backbone.js fetch backbone-collections

在我的chrome控制台中,它说Backbone有错误 - 未捕获错误:必须指定“url”属性或函数

我能够通过将我的Backbone.js脚本从1.1.2版替换为1.0.0来解决问题。任何人都可以解释为什么最新版本的Backbone给我一个错误,因为旧版本没有?

我的语法下面有什么问题,我试图将收集网址设置为api地址吗?

    var daysCollection = new DaysCollection([], {
        url: 'http://api.wunderground.com/api/94c558eeb4e503dc/forecast/q/CA/San_Francisco.json'
    });

    daysCollection.fetch({
        success: function (collection, response, options) {
            console.log(collection, response);
        },
        error: function (collection, response, options) {
            console.log('error');
        }
    });

如果我需要提供更多详细信息,请与我们联系。

1 个答案:

答案 0 :(得分:4)

Backbone不会将选项中的urlurlRoot添加到模型或集合中。来自changelog for 1.1.0

  

Backbone Views不再自动附加传递给构造函数的选项,因为this.options和Backbone Models不再附加url和urlRoot选项,但如果您愿意,可以自己执行。

虽然它没有具体说Collection s,但是如果你看一下(1.0.0和1.1.2)之间的代码差异,你会发现以下行已从{{{ 1}}构造函数:

Backbone.Collection

有几个解决方案,第一个是后来设置if (options.url) this.url = options.url;

url

或者,您可以将该选项行添加到集合的 var daysCollection = new DaysCollection([], {}); daysCollection.url = 'http://api.wunderground.com/api/94c558eeb4e503dc/forecast/q/CA/San_Francisco.json'; 函数中:

initialize