如何在我的RESTful服务中使用JsonRestStore

时间:2011-06-14 13:19:44

标签: javascript dojo

我尝试将dojox.data.JsonRestStore与我的RESTful服务一起使用。我通过sitepen和dojox文档阅读了这些文章,但我无法理解它们的全部内容。 我的服务收到http://<host>/rest/relatedsuggestion?query=weath&results=3之类的请求并返回JSON

{
Suggestions: [
    “weather channel”,
    “weather forecast”,
    “weather bbc”
    ]
}

这意味着它无法理解每个教程中使用的http://<host>/rest/relatedsuggestion/3之类的请求。我怎样才能理解我的格式?据我所知,答案在这堂课上也很不寻常。

为了尝试JsonRestStore,我编写了以下模拟页面,cource它不起作用并返回4个错误“类型错误:_57为空”:

<head>
    <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dojo/dojo.xd.js"
    djConfig="parseOnLoad: true">
    </script>
    <script type="text/javascript">
        dojo.require("dojox.data.JsonRestStore");
        dojo.require("dojox.grid.DataGrid");

        dojo.addOnLoad(function() {
            var poStore = new dojox.data.JsonRestStore({target:"http://<host>/rest/features/relatedsuggestion"});

            poStore.fetchItemByIdentity({
                identity:"3433",
                onItem:function(poItem){
                    poItem.completeOrder();
                }
            });
        });
    </script>
    <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dijit/themes/claro/claro.css"
    />
</head>

<body class=" claro ">
    <div id="gridElement"></div>
</body>

1 个答案:

答案 0 :(得分:0)

这篇IBM developerWorks文章可能会有所帮助:Use Dojo's JsonRestStore with your REST services

根据您的说明,您的服务是非标准的,因此您需要调整网址和响应修改以适应JsonRestStore期望的内容。该文章解释了如何通过实施自己的服务来实现这一目标。