JavaScript:Backbone.js获取json并将其加载到模型集合中

JavaScript: Backbone.js fetch json and load it into a collection of models?

本文关键字:加载 模型 集合 Backbone js 获取 json JavaScript      更新时间:2023-09-26

到目前为止,我有以下代码,但它似乎不起作用,而且我不知道异步提取何时完成:

var item = Backbone.Model.extend({
    defaults: {
        id: 0,
        an_id: 0,
        strval: null,
        th_id: 0,
        text: null
    },
    url: 'page.php',
    options: {
        success: function(data) {
            alert('s: ' + dump(data));
            // the dump function is my way of dumping objects into a string,
            // use console.log if you want, as I have that disabled
        },
        error: function(x, t, e) {
            alert('e: ' + t + ', ' + e);
        }
    }
});
var coll = Backbone.Collection.extend({
    model: item
});
var options = new Options();
Backbone.sync("create", coll, item.options); // 'undefined' is not an object (evaluating c.url) in backbone-min.js

更新

我已经将原始代码修改为现在的代码,后端现在可以区分New、Update、Save和Delete请求。

我仍然无法找到如何填充集合coll

Backbone.Collection用于保留多个项-您似乎试图让Collection从模型中"继承",这不是正确的方法。

集合是有序的模型集。您可以绑定"更改"事件以在集合中的任何模型已被修改时被通知,监听"add"answers"remove"事件,从服务器,并使用一整套Undercore.js方法。

您可以在fetch调用中添加一个成功处理程序。试试这个:

coll.fetch({
        success: function() {
            alert("success");
            console.log(coll.toJSON());
        },
        error: function(){
            alert("error")}
    });