首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Servlet填充的dojox.grid.DataGrid

从Servlet填充的dojox.grid.DataGrid
EN

Stack Overflow用户
提问于 2010-05-25 19:03:00
回答 1查看 1.9K关注 0票数 0

我想有一个Dojo与它的数据dojox.grid.DataGrid。

问题:从servlet返回的数据没有显示,只显示消息“对不起,发生了错误”。

如果我将JSON字符串放到HTML中,它就可以工作。ARRRRGGH。

有谁能帮帮我!

谢谢Jeff Porter

Servlet代码...

代码语言:javascript
复制
public void doGet(HttpServletRequest req, HttpServletResponse resp) {
    res.setContentType("json");
    PrintWriter pw = new PrintWriter(res.getOutputStream());
    if (response != null) pw.println("[{'batchId':'2001','batchRef':'146'}]");
    pw.close();
}

HtmL代码...

代码语言:javascript
复制
    <div id="gridDD" dojoType="dojox.grid.DataGrid" 
    jsId="gridDD" style="height: 600x; width: 100%;" 
    store="ddInfo" structure="layoutHtmlTableDDDeltaSets">
    </div>      

    var rawdataDDInfo = ""; // empty at start
    ddInfo = new dojo.data.ItemFileWriteStore({
        data: {
            identifier: 'batchId',
            label: 'batchId',
            items: rawdataDDInfo
        }
    });
    <script>
    function doSelectBatchsAfterDate() {
    var xhrArgs = {
        url: "../secure/jsonServlet",
        handleAs: "json",
        preventCache: true,
        load: function(data) {
        var xx =dojo.toJson(data);
            var ddInfoX = new dojo.data.ItemFileWriteStore({data: xx});
            dijit.byId('gridDD').setStore(ddInfoX);
        },
        error: function(error) {
                alert("error:" + error);
        }
    }

    //Call the asynchronous xhrGet
    var deferred = dojo.xhrGet(xhrArgs);
    }
    </script>
<img src="go.gif" onclick="doSelectBatchsAfterDate();"/>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-31 09:11:42

当您使用从服务器返回的JSON数据创建dojo.data.ItemFileWriteStore时。您只需提供项,您仍然需要指定元数据。正确的代码应该如下所示。

代码语言:javascript
复制
var ddInfoX = new dojo.data.ItemFileWriteStore({
    data: {
        identifier: 'batchId',
        label: 'batchId',
        items: xx
    }
});

而且不需要dojo.toJson函数将JSON对象转换为JSON字符串。dojo.data.ItemFileWriteStore需要一个JSON对象作为参数,而不是JSON字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2903970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档