我使用Dojo和它的道場/數據/ ItemFileWriteStore模塊讀取我的本地服務器上的JSON數據文件。在我的js文件我有道場ItemFileWriteStore不讀JSON服務器文件
var myDataStore = new ItemFileWriteStore({
url: "app/data/mydata.json",
handleAs: "json",
clearOnClose: true,
urlPreventCache: true
})
這個位於postCreate功能我回來聲明函數...所以:
define([
"dojo/_base/declare",
"com/cayuse/base/_widget",
"dojo/text!./templates/myform.html",
...
"dojo/data/ItemFileWriteStore",
"dojo/store/DataStore",
"dojo/store/Observable",
"dojo/data/ObjectStore",
"dojo/domReady!"
],
function(declare, widget, template, ..., ItemFileWriteStore, DataStore,
Observable, ObjectStore){
return declare("app.myform", widget, {
templateString: template,
postCreate: function(){
domConstruct.create("link",{
type: "text/css",
rel: "stylesheet",
href: require.toUrl('dojox/form/resources/CheckedMultiSelect.css')
}, document.getElementsByTagName("head")[0]);
// data store
var myDataStore = new ItemFileWriteStore({
url: "app/data/mydata.json",
handleAs: "json",
clearOnClose: true,
urlPreventCache: true
})
console.log(myDataStore);
}
});
}
);
我可以改變從以上你看到的是什麼數據存儲訪問使用IFWS方法
var myDataStore = dojo.xhrGet({
url: "app/data/mydata.json",
handleAs: "json",
load: function(data, ioArgs){
console.log(data);
}
});
它發現文件沒有問題。
這太離奇了!關於這裏出了什麼問題的任何想法?
更新: 這裏是我讀文件中的數據。我相信它符合JSON格式。如果不是,請告訴我。 xhrGet讀取它很好。
{ "identifier": "id",
"label": "firstName",
"items":[
{"id":"0","firstName":"Robert","website":"www.barker.com","email":"[email protected]","bday":"1928-08-09","color":"Blue","toolkits":["Dojo","Moo"],"sendEmail":["on"],"format":"HTML"},
{"id":"1","firstName":"Vanna","website":"www.white.com","email":"[email protected]","bday":"1968-07-23","color":"Green","toolkits":["Dojo","jQuery"],"sendEmail":["off"],"format":"Text"}
]
}
感謝您的響應eburgos。我應該發佈我的文件數據。它符合那個結構。我會將其添加到我的帖子中。 讓我感到困惑的一件事是,我在這個論壇上看到一些表明屬性和值都必須引用真正的JSON格式。我試過兩種方法,但我的問題是該文件沒有被抓取。我在Net XHR活動中查看Firebug,並且從未觸摸過該文件。另外,當我使用dojo xhrGet時,它讀取相同的文件就好了。這真的很奇怪,我有這個問題。 – teaman 2012-08-02 17:46:38
因此,當Firebug Net XHR活動沒有請求? – eburgos 2012-08-05 01:40:42