1

我在我的网站上使用 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);

在此处输入图像描述

4

2 回答 2

2

不一定是完整的答案,但我认为某些浏览器不接受“Access-Control-Allow-Origin”标题中的多个条目。我不知道 Firefox 是否是其中之一。

如果它在您想要接受的来源列表中,也许尝试将请求的“Origin”标头复制到响应的“Access-Control-Allow-Origin”中?

于 2012-08-14T14:05:50.660 回答
1

我的服务器有问题。当我在不同的服务器上尝试相同的代码时,它起作用了!我使用的是共享主机,但服务提供商已将其禁用。

于 2012-08-15T04:28:16.777 回答