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