我第一次使用主干,我真的很难让它与JSON数据文件一起正常运行。
我有一个模特就像这样:
window.Test = Backbone.Model.extend({
defaults: {
id: null,
name: null,
},
url: function() {
return 'json/test.json/this.id';
},
initialize: function(){
}
});
单击测试项目时,我会尝试显示通过执行
单击的太平洋模型的详细信息testDetails: function (id) {
var test = new Test();
test.id = id;
test.fetch({ success: function(data) { alert(JSON.stringify(data))}});
},
但是这不起作用,我无法正确地说“使用传递的ID获取JSON元素”
任何人都可以告诉我如何正确构建模型URL以获取带有ID的元素。
由于
答案 0 :(得分:1)
这里的问题是您将JSON数据文件视为对服务器的调用。这不起作用,这就是你获得404的原因。如果你在本地访问文件,你必须先加载文件。您可以使用.getJSON()方法使用jQuery执行此操作,或者如果文件是静态的,只需使用脚本块将其加载到内存中(尽管您可能需要在文件中分配var)。最有可能的是,你将使用jQuery。这方面的一个例子可以在这里找到:
Using Jquery to get JSON objects from local file
如果这是一个JSON数组,您可以将数组加载到集合中,并使用“at”方法通过id访问特定元素。如果它完全是JSON,则必须创建自定义解析器。
答案 1 :(得分:0)
您的网址不正确。你正在返回文字字符串'this.id'。你可能想要做更多的事情
url: function () {
return 'json/test.json/' + this.id;
}
答案 2 :(得分:0)
我首先要修复你的url
功能:
url: function() {
return 'json/test.json/' + this.get('id');
}
现在的方式,无论模型的id
如何,每次获取请求都会转到/json/test.json/test.id