Javascript 在主干中使用json文件模拟集合不会触发主干中的成功回调
我试图使用.json文件模拟主干集合中的GET请求。这是我的示例文件:Javascript 在主干中使用json文件模拟集合不会触发主干中的成功回调,javascript,jquery,json,backbone.js,Javascript,Jquery,Json,Backbone.js,我试图使用.json文件模拟主干集合中的GET请求。这是我的示例文件: [ { "id": '11111', "name": "Abdominal Discomfort", "favorite": true }, { "id": "11110", "name": "Abdominal Distension", "favorite": true }, {
[
{
"id": '11111',
"name": "Abdominal Discomfort",
"favorite": true
},
{
"id": "11110",
"name": "Abdominal Distension",
"favorite": true
},
{
"id": "11101",
"name": "Swollen Abdomen",
"favorite": true
},
{
"id": "11011",
"name": "Disorder of Fetal Abdominal Region",
"favorite": false
},
{
"id": "11100",
"name": "Dissect of Abdominal Aorta",
"favorite": false
},
{
"id": "11000",
"name": "Umbilical Discharge",
"favorite": false
}
]
这是我的主干模型/集合实体:
define(['Backbone'], function (Backbone) {
"use strict";
//MODEL
var diagnosis = Backbone.Model.extend({});
//COLLECTION
var c = Backbone.Collection.extend({
model: diagnosis,
url:'app-src/js/data-mocks/diagnosis.json'
});
return {
model: diagnosis,
collection: c
};
});
最后,在我看来,我是这样做的:
var that=this;
this.collection.fetch({wait:true,success:function(){
console.log(that.collection);
}});
在网络控制台中,我看到了正确的200状态响应,返回了一系列对象。但是,从未触发成功回调。此外,我还绑定了某些.on“add”事件,它们的回调永远不会被调用
请指出我的错误所在。这在我身上发生过几次,所以我决定制作一个迷你PHP API接口来设置正确的标题内容类型,然后提供JSON文件。我认为它正在获取JSON,而jQuery正在尝试将其解析为XML。因此,这意味着您可能需要强制请求“json”的头。试试这个:
var that=this;
this.collection.fetch({wait:true, dataType: 'json', success:function(){
console.log(that.collection);
}});