Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在主干中使用json文件模拟集合不会触发主干中的成功回调_Javascript_Jquery_Json_Backbone.js - Fatal编程技术网

Javascript 在主干中使用json文件模拟集合不会触发主干中的成功回调

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 }, {

我试图使用.json文件模拟主干集合中的GET请求。这是我的示例文件:

[
    {
        "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);
}});