【问题标题】:WCF service not returning JSONP which causes error in dojo appWCF 服务未返回 JSONP,导致 dojo 应用程序出错
【发布时间】:2012-06-09 02:05:54
【问题描述】:

我已经尝试了很多演示和 egs。当我遇到服务请求问题时,终于在这里得到了一些好的建议。无论如何,我正在使用 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 响应。

编辑:

从 web 服务返回的数据示例:

{"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}]}

【问题讨论】:

    标签: dojo jsonp


    【解决方案1】:

    这一定是服务器的问题。您可以尝试指向一些已知的工作服务(如 Yahoo.com),只是为了快速测试一下吗?

    【讨论】:

    • 您认为它是服务器还是该服务器上托管的实际 Web 服务
    • 那里托管的网络服务。我认为返回的数据有问题。也许在您的问题中发布服务响应的示例。
    猜你喜欢
    • 1970-01-01
    • 2013-03-24
    • 1970-01-01
    • 2010-10-25
    • 2012-06-30
    • 1970-01-01
    • 2012-09-26
    • 2014-08-20
    • 2012-05-12
    相关资源
    最近更新 更多