有很多相同的问题,但我找不到答案,所以我正在回答相同的问题。我正在使用java脚本接收json请求
var request = null;
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else if (window.ActiveXObject) {
request = new ActiveXObject("Microsoft.XMLHTTP");
} else {
return null;
}
request.open("GET", url, true);
request.send(null);
request.onreadystatechange = function() {
if (request.readyState == 4) {
if (request.status == 200) {
}
} else
alert(request.status);
}
我收到状态代码为零,而我收到javascript在apache服务器上运行的请求,json请求将从tomcat服务器收到,一切都是本地的。任何人都可以告诉我如何过来。 注意:我不能使用任何框架。
答案 0 :(得分:2)
我怀疑您违反了浏览器中内置的same origin policy限制。此限制阻止您发送跨域AJAX请求。因此,例如,如果包含AJAX调用的页面托管在http://localhost/example.htm
上并且您尝试向http://localhost:8080/somescript
发送AJAX请求,则您将无法执行此操作,因为域名不匹配(不同端口)。
确保AJAX请求有效的最佳方法是仅使用相对网址:
request.open("GET", "/somescript", true);