gpt4 book ai didi

javascript - 通过 console.log() 打印 Backbone.js 集合,这是怎么回事?

转载 作者:行者123 更新时间:2023-12-03 17:01:54 25 4
gpt4 key购买 nike

好的。我开始使用 Backbone.js,并尝试做一些非常简单的事情。这是一个非常简单的模型和集合。

// my model
Friend = Backbone.Model.extend({});

// my collection
Friends = Backbone.Collection.extend({});

// instantiate friends and add some friends objects!
var friends = new Friends();
friends.add([
{name: "James"},
{name: "Michael"}
]);

console.log(friends.length) // prints out 2! which is correct!

上面的例子很好。但现在我想从服务器初始化我的集合,它返回完全相同的 JSON 对象。

// my model
Friend = Backbone.Model.extend({});

// my collection
Friends = Backbone.Collection.extend({
url: 'http://localhost/myapp/get_users'
});

// instantiate friends and add some friends objects!
var friends = new Friends();
friends.fetch();

console.log(friends.length) // prints out 0! WHY???

我一直在为它们查看我的 Chrome 检查面板,无论如何,我不知道为什么服务器中的一个不工作?

仅供引用,在服务器端,我有 CodeIgniter 2.02,使用 Phil Stuegeon 的 REST API 返回 JSON 数据。

我还在我的 PHP 端尝试了一个简单的函数,比如

function get_users() {
echo '{name:"James"}, {name:"Michael"}';
}

但没有任何成功。

我在这里做错了什么?

最佳答案

您是否忘记了 [] 使其成为一个数组?

 echo '[{name:"James"}, {name:"Michael"}]';

您还可以检查可以传递给 fetch 的 onsuccess 方法中的长度。目前您在获取后直接检查长度,因此您不确定结果是否仍在加载。

friends.fetch(
{success:function(){
console.log(friends.length)
}}
);

关于javascript - 通过 console.log() 打印 Backbone.js 集合,这是怎么回事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7050957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com