Javascript 主干:将静态json文件添加到集合时出错

Javascript 主干:将静态json文件添加到集合时出错,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,我有一个静态json文件myjson.json,它已经使用JSONLint进行了验证 我试图使用此静态json向集合中添加数据,但我一直收到相同的错误: 无法加载XMLHttpRequestfile:///C:/Testing/app/scripts/src/myjson.json. 收到无效的响应。因此,不允许访问源“null” 我不知道为什么这次抓捕没有成功 我的文件夹结构如下所示 ->index.html ->app ->scripts ->

我有一个静态json文件myjson.json,它已经使用JSONLint进行了验证

我试图使用此静态json向集合中添加数据,但我一直收到相同的错误:

无法加载XMLHttpRequestfile:///C:/Testing/app/scripts/src/myjson.json. 收到无效的响应。因此,不允许访问源“null”

我不知道为什么这次抓捕没有成功

我的文件夹结构如下所示

->index.html
->app
    ->scripts
        ->src
            ->main.js
            ->myjson.json
        ->views
            ->app.js
        ->models
            ->ModelAndCollection.js
在ModelAndCollection.js内部:

define(['backbone'], function(Backbone) {

  var TheModel = Backbone.Model.extend({

  });

  var TheCollection = Backbone.Collection.extend({
    model: TheModel,

    url: './app/scripts/src/item-data.json'
  });

  return TheCollection;

});
内部App.js

define(['backbone', '../models/ModelAndCollection'], function(Backbone, ModelAndCollection) {

  var App = Backbone.View.extend({
    initialize: function () {

      this.collection = new ModelAndCollection();

      console.log('initialize!!!');

      this.collection.fetch({
        success: function (data) {
          console.log(data);
        },
        error: function () {
          console.log('error');
        }
      });
    }
  });

  return App;

});

这看起来像是在没有服务器的情况下运行的问题,您试图从文件系统加载AJAX文件

如果您在web服务器下运行此应用程序,则可以解决此问题。如果您在Windows或Mac/Linux上,最简单的方法是安装xampp或其中一种,安装nodejs和npm安装-g http服务器,然后进入文件所在的目录并在控制台中写入

http服务器

它将在端口8080上加载服务器,您可以从localhost:8080访问它

然后一切都会好起来的


祝你好运

谢谢大家!!我没有意识到这一点。有没有一种方法可以将.json文件添加到集合中而无需对服务器进行ajax调用?这是我第一次尝试使用静态文件。您可以使用脚本选项卡将其添加到页面本身或初始值设定项中,但最好是使用Web服务器。