我正在开展一个学术项目。有一个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格式的本地文件,则它可以正常工作,我可以解析它以按照我的意愿显示。我哪里错了?
答案 0 :(得分:0)
听起来像是一个跨源资源共享问题。
如果资源使用cookie,您需要将其添加到ajax调用:
'xhrFields': {'withCredentials': true},
您还应检查资源是否具有相应的Access-Control-Allow-Origin: *
标头,并且可能还需要Access-Control-Allow-Headers: Content-Type
。由于它不是您的脚本,因此项目制作者必须在必要时进行修复。
最后,如果涉及重定向(即在显示内容之前在地址栏中键入该URL重定向到另一个,即使只是更改案例),您还需要将URL更改为 final < / em> URL。