我正在尝试执行一个简单的xmlhttprequest以便从本地主机中的json获取数据,为什么它不起作用并返回Failed to load http://127.0.0.1:8080/test: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
?
var xmlRequest = new XMLHttpRequest();
xmlRequest.onreadystatechange = stateChanged ;
xmlRequest.open("GET", "http://127.0.0.1:8080/test", true);
xmlRequest.send(null);
console.log(xmlRequest.status);
console.log(xmlRequest.readyState);
function stateChanged() {
if (xmlRequest.readyState == 4) {
if (xmlRequest.status == 200) {
message = "Text: " + xmlRequest.statusText + "nn" ;
message += "Headers:n" +xmlRequest.getAllResponseHeaders() + "n" ;
message += "Response:n" + xmlRequest.responseText ;
alert(message) ;
} else { alert("Error receiveing the XML data") ; }
}
}
答案 0 :(得分:0)
为了能够查询该URL,您需要设置Web服务器以发送适当的“ CORS”(跨源资源共享)HTTP标头。
浏览器尝试发出请求时,其内部安全设置会阻止该请求。
您应该通过添加“中间件”来调整Web服务器,该中间件通常会通过响应OPTIONS
请求来发送适当的CORS标头。