我正在尝试向另一台服务器做一个非常简单的请求。我在Chrome的检查面板中看到了预期的响应,但浏览器不允许请求:
xmlhttprequest不能加载http://search.maven.org/solrsearch/select?q=g:"org.testng";请求的资源上没有"访问控制"标头。因此,不允许访问原点" null"。
我的文件只是:
<!DOCTYPE html>
<html>
<body>
<div id="testng-version"></div>
<script type="text/javascript">
//<![CDATA[
var xhr = new XMLHttpRequest();
var url = "http://search.maven.org/solrsearch/select?q=g%3A%22org.testng%22%20AND%20a%3A%22testng%22&rows=20&wt=json";
xhr.open("GET", url, true);
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var resp = JSON.parse(this.responseText);
document.getElementById("testng-version").innerHTML = resp.docs[0].latestVersion;
}
};
xhr.send();
//]]>
</script>
</body>
</html>
在Stackoverflow上浏览网络或类似问题无济于事。
您需要设置(并了解)CORS。
要扩展一点,您正在尝试访问的网站必须发送CORS标题。由于这是您无法控制的,因此您可以做的就是代理Web服务器上的网站。