我正在使用以下代码使用$ .getJSON进行跨域请求,请求已完成但有错误,我无法准确检测出抛出的错误是什么。
基于请求值的回调参数,我将其路由到某个检索所需JSON数据的方法。
$.getJSON("http://wthsrvr:45452/Handler.ashx/?Callback=DocumentReadStatus",
{
userID: vuserID,
documentID: vdocumentID,
format: "json"
},
function(result) {
if (result.readStatus == '1') {
alert("ACCEPTED");
}
else if (result.readStatus == '0') {
alert("NOT ACCEPTED");
}
else {
alert(result.readStatus);
}
});
仅供参考:在本地开发本地时,一切正常,但在解决方案部署到服务器并尝试执行相同操作后,我遇到了这个问题。
另外,我尝试使用与Web服务相同的功能,从服务器调用Web服务时遇到了同样的问题。
我正在使用ajaxSetup来检测抛出的错误。
$.ajaxSetup({ "error": function(XMLHttpRequest, textStatus, errorThrown) {
alert("textStatus: " + textStatus);
alert("errorThrown: " + errorThrown);
alert("responseText: " + XMLHttpRequest.responseText);
}
});
答案 0 :(得分:1)
要访问不同的网站,您必须使用JSONP,它实际上成为JavaScript文件的请求,数据作为JavaScript文件的一部分发回。
答案 1 :(得分:0)
实际上,这是一个许可问题。使用“Access-Control-Allow-Origin”HTTP标头,以便任何域以跨站点方式访问资源。
请检查以下MDN article。