我在我的网站上使用CORS进行跨域通话。虽然如图所示的响应标题对我来说似乎不错,但是,我没有收到任何回复。它仍然是空白的或返回响应。任何人都可以预测我的方法中的错误,看到附加图像吗?
在服务器端,我正在使用此代码段
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Credentials: true ");
header("Access-Control-Allow-Methods: GET, POST");
header("Access-Control-Allow-Headers: Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control");
在客户端,我有: -
function getXMLHTTPRequest() {
try {
req = new XMLHttpRequest();
} catch(err1) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (err2) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (err3) {
req = false;
}
}
}
return req;
}
var http899 = getXMLHTTPRequest();
http899.open("GET", modurl, true);
http899.setRequestHeader('Content-Type', 'text/html');
http899.onreadystatechange = useHttpResponse899;
http899.send(null);
答案 0 :(得分:2)
不一定是完整的答案,但我认为某些浏览器不接受“Access-Control-Allow-Origin”标头中的多个条目。我不知道Firefox是否是其中之一。
如果请求的“Origin”标题位于您要接受的原始列表中,可能会尝试将请求的“Origin”标题复制到响应的“Access-Control-Allow-Origin”中。
答案 1 :(得分:1)
我的服务器出了问题。当我在不同的服务器上尝试相同的代码时,它工作!我正在使用共享主机,它被服务提供商禁用。