我有一個靜態json文件myjson.json
已經使用JSONLint進行了驗證。Backbone:將靜態json文件添加到集合時出錯
我試圖用這個靜態JSON將數據添加到一個集合,但我不斷收到同樣的錯誤:
XMLHttpRequest cannot load file:///C:/Testing/app/scripts/src/myjson.json. Received an invalid response. Origin 'null' is therefore not allowed access.
我不知道爲什麼在獲取success
()不點火。
我的文件夾結構看起來像這樣
->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;
});
謝謝!我沒有意識到這一點。有沒有方法可以將.json文件添加到集合中,而無需對服務器執行ajax調用?這是我第一次嘗試使用靜態文件。 – Mdd
您可以使用腳本標籤或初始化程序將其添加到頁面本身,但最好的選擇是網絡服務器。 – gmaliar