我正在尝试使用XHR构建一个DataGrid,但是网格没有正确创建,我看到很多示例并根据我在互联网上找到的内容做了我但没有成功......
我做错了什么?
我的道场:
var a = dojo.xhrGet({
url : "/dojo/pix/StatusXml",
handlesAs: "xml",
preventCache: true,
headers: { "Content-Type": "application/x-www-form-urlencoded"},
// mimetype: "application/xml"
});
a.addCallback(function(myXml) {
var grid = dijit.byId("grid");
// var gridStore = new dojo.data.ItemFileReadStore({data:{items: myXml} });
var gridStore = new dojo.data.ItemFileWriteStore({data:{items: myXml} });
alert("myxml: \n"+ myXml +" \n gridStore: \n"+gridStore);
grid.setStore(gridStore);
grid.refresh();
});
Gid结果显示的消息是“抱歉,发生了错误” enter link description here
答案 0 :(得分:0)
如果使用xml
作为handleAs
函数的dojo.xhrGet
值,响应数据将转换为XML DOM对象。但dojo.data.ItemFileReadStore
期望获得JSON对象作为数据格式。
因此,您可以使用dojox.data.XmlStore
作为网格存储,也可以手动将XML DOM对象转换为JSON数据。实际上,这里不需要使用XHR,因为dojo.data.ItemFileReadStore
和dojox.data.XmlStore
可以使用URL作为数据源,他们将处理数据检索。
答案 1 :(得分:0)
dojox.data.XmlStore不能通过XMLRequest从servlet中检索数据...只来自文件中的数据