使用 XHR 创建 DataGrid 的问题

发布于 2024-12-05 12:42:44 字数 1180 浏览 0 评论 0原文

我正在尝试使用 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 出现的消息中的结果是“抱歉,发生错误” 在此处输入链接说明

I'm trying to build a DataGrid using XHR, but the Grid is not being created correctly, I saw many examples and did my based on what I found on the internet but without success ...

what am I doing wrong?

my dojo:

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 the result in the message that appears is "sorry, an error occurred"
enter link description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

丘比特射中我 2024-12-12 12:42:44

如果使用xml作为dojo.xhrGet函数的handleAs值,响应数据将被转换为XML DOM对象。但是 dojo.data.ItemFileReadStore 期望获取 JSON 对象作为数据格式。

因此,您可以使用 dojox.data.XmlStore 作为网格的存储,也可以手动将 XML DOM 对象转换为 JSON 数据。实际上这里不需要使用XHR,因为dojo.data.ItemFileReadStoredojox.data.XmlStore可以使用URL作为数据源,并且它们将处理数据检索。

If you use xml as the handleAs value of dojo.xhrGet function, the response data will be converted to a XML DOM object. But dojo.data.ItemFileReadStore is expecting to get a JSON object as the data format.

So you can either use dojox.data.XmlStore as the grid's store or convert the XML DOM object to JSON data manually. Actually it's not required to use XHR here, because dojo.data.ItemFileReadStore and dojox.data.XmlStore can use URL as the data source and they will handle the data retrieve.

时光磨忆 2024-12-12 12:42:44

dojox.data.XmlStore 不通过 XMLRequest 从 servlet 检索数据...仅从文件中检索数据

dojox.data.XmlStore not retrieve data from the servlet by XMLRequest ... only data from a file

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文