我花了好几天的时间在这上面工作,真的觉得很愚蠢。当我使用自己的 url 在本地尝试时,我一直在研究无法正常工作的演示和示例。我有一个以 json 格式返回结果的 Web 服务,我基本上只是尝试使用 dojo 调用它,现在只查看结果。我使用了搜索 google 示例,只是替换了 url 和参数。现在也许我仍然不了解基础知识: - io.script.get 与 xhrGet 如果使用跨域 url,最好使用 io.script.get?正确的?现在什么是回调参数?这是在 web 服务中调用的函数吗?我的网络服务网址如下:http: //xxx.xxx.x.xxx/WcfServices/WcfInstance/Service1.svc/RetrievData ?query=Word
当我使用以下代码时,我什么也没有显示。
function searchGoogle() {
// Look up the node we'll stick the text under.
var targetNode = dojo.byId("rules");
// The parameters to pass to xhrGet, the url, how to handle it, and the callbacks.
var jsonpArgs = {
url: "http://xxx.xxx.x.xxx/WcfServices/WcfInstance/Service1.svc/RetrieveData?",
callbackParamName: "callback",
content: {
query:"dojowords"
},
load: function (data) {
// Set the data from the search into the viewbox in nicely formatted JSON
targetNode.innerHTML = "<pre>" + dojo.toJson(data, true) + "</pre>";
},
error: function (error) {
targetNode.innerHTML = "An unexpected error occurred: " + error;
}
};
dojo.io.script.get(jsonpArgs);
}
dojo.ready(searchGoogle);
以下是 Web 服务结果的样子:
"{\"rules\":[{\"value\":\"AllState\"},
{\"value\":\"Cidade de Goa beach\"},{\"value\":\"Euro 2012\"},
{\"value\":\"Euro2012\"},{\"value\":\"European&Championship\"},
{\"value\":\"Holiday Inn Resort\"},
{\"value\":\"Holiday Inn Resort goa\"},
{\"value\":\"Hotel Goa\"},{\"value\":\"Hyatt Goa\"},{\"value\":\"I buy car\"},...
如果我把这部分弄对了,那么至少我知道我有数据,然后我可以绑定到数据网格或图表。