2

我正在做一个学术项目。有一个 JAVA 后端可以在另一台服务器上为我创建 JSON 响应。JSON 是完美的,我可以从任何其他节点的浏览器中看到它。

我的工作是解析这个 JSON 并以 HTML 格式显示。

这是我正在使用的一段代码:

    function sendQueryToBackend () {
    var strURL = "http://10.2.4.234:8080/RestSimpleApp/rest/BingSearch?q=india&callback"; // this is not my system
    alert("Searching...MAIN");
    $.ajax({
        url:strURL,
        async:false,
        type:"GET",
        success: function(result)
           {
                alert("It works!" ); // This alert never comes up
           }
    });
}

在函数中,我只想看看它是否接收到数据。这个警报永远不会出现。

但是,如果我使用具有相同 JSON 格式的本地文件,它可以完美运行,我可以将其解析为我希望的显示。我哪里错了?

4

1 回答 1

0

对我来说,这听起来像是一个跨域资源共享问题。

如果资源使用 cookie,您需要将其添加到 ajax 调用中:

'xhrFields': {'withCredentials': true},

您还应该检查资源是否具有适当的Access-Control-Allow-Origin: *标头,并且它可能还需要Access-Control-Allow-Headers: Content-Type. 由于这不是您的脚本,因此项目制作者应在必要时对其进行修复。

最后,如果涉及重定向(即在显示内容之前在地址栏中键入该 URL 会重定向到另一个,即使只是更改大小写),您需要将 URL 更改为最终URL。

于 2013-03-06T11:13:51.720 回答