我从 Backbone 开始。我对此很陌生,但仍然有些困惑。
我有这个代码:
var Item = Backbone.Model.extend();
var Items = Backbone.Collection.extend({
model: Item,
url: 'http://localhost/InterprisePOS/Product/loaditembycategory/Event Materials',
});
var items = new Items();
var onSuccess = function(result){ alert("success"); };
items.fetch({ success: onSuccess });
当我查看 Firebug 时,响应在某种程度上是正确的。它返回正确的数据。但当我挖得更深时,元素是空的。我什至不知道如何使用 Backbone 显示来自服务器的数据。有什么帮助吗?谢谢
更新
我已经设法让它以某种方式起作用。
from:
var Item = Backbone.Model.extend();
to:
var Item = Backbone.Model;
我可以看到该集合正在填充,但只有一项。虽然我仍然可以让它提醒结果。
另一个更新
我设法纠正我的成功回调。我现在的问题是如何只打印项目模型?
最佳答案
这可能是由于完整的网址,http://...
。当它进入 jQuery ajax 调用时,它会看到这一点,假设它是一个外部 url 并将其视为跨域请求。因此,您的成功、错误以及可能的解析函数不会运行。
此外,在最后一个引用后面的网址末尾有一个逗号。如果您在 IE 中运行此程序,您可能会因此收到 javascript 错误。
尝试使用您的网址作为相对网址。另外,请确保您在本地 Web 服务器下运行应用程序,而不仅仅是在浏览器中打开 index.html 文件。
关于javascript - 主干持久性从服务器检索数据但不填充集合和模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9817317/