我尝试了许多演示和例证。当我遇到服务请求问题时,最后得到了一些好的建议。无论如何,我使用io.script.get从远程服务器获取数据,问题是回调参数未定义或有时我得到无效标签。
function searchGoogle() {
// Look up the node we'll stick the text under.
var targetNode = dojo.byId("rules");
var jsonpArgs = {
url: "http://localhost/WcfServices/WcfInstanceRules2/Service1.svc/RetrieveData",
callbackParamName: "callback",
content: {
screenName: "dpjo"
},
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);
我在fiddler中看到json响应,它看起来不错,但在浏览器中我会收到错误。这令人沮丧,因为我一直在努力解决跨域问题。我使用.net 4.0并且不必显式定义回调。我尝试通过添加回调名称并将json包装在回调名称中来手动编辑json响应。
编辑:
从webservice返回的数据样本:
{"rules":[{"value":"AllState"},{"value":"Cidade de Goa beach"},
{"value":"Euro 2012"},{"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}]}
答案 0 :(得分:1)
它必须是服务器上的问题。您是否可以尝试指向一些已知的工作服务(如Yahoo.com),只是为了快速测试?