我试图做一个跨域XHR到安全域。
我用下面的代码可以这样做:
this.post = function (url, data) {
var xmlhttp=new XMLHttpRequest();
xmlhttp.open("POST",url,true);
xmlhttp.withCredentials=true;
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=UTF-8");
xmlhttp.send(data);
}
我用这个功能与URL编码的字符串数据和https://mydomainx.com/request
的URL。
我测试了Chrome和Firefox,Chrome浏览器开发工具/ Firebug的(在请求/响应头看)。 该代码适用于Chrome(即请求发送,接收相应的响应)。 不安全的要求适用于火狐,但(当我使用http://mydomainx.com/request
而不是HTTPS)。
更具体地讲,在Firefox中,HTTPS请求似乎被发送:POST请求出现在Firebug与正确的请求头,但没有得到回应。 我检查了终结点服务器上(mydomainx.com),它不接受该请求(说/var/log/apache2/access.log和error.log)。 我还显示的状态/ responseText的时xhr.readystate == 4 ---->状态= 0,无响应文本。
我试图使XHR没有数据,或者用GET而不是POST,并且没有内容首部,以及与文本/无格式内容头=>确切相同的结果(可在铬在HTTP / HTTPS,在Firefox工作以http,确实在Firefox以https无法正常工作)。
我花了很多时间试图谷歌没有成功的解释...任何帮助将不胜感激。 非常感谢