javascript - 跨域 XHR 到 https 地址 (SSL) 在 Firefox 中失败(在 Chrome 中工作)

标签 javascript ajax firefox ssl xmlhttprequest

我正在尝试将跨域 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 Dev Tools/Firebug 在 Chrome 和 Firefox 上对其进行了测试(查看请求/响应 header )。该代码适用于 Chrome(即发送请求,收到适当的响应)。 不安全的请求虽然在 Firefox 上有效(当我使用 http://mydomainx.com/request 而不是 https 时)。

更具体地说,在 Firefox 上,似乎发送了 https 请求:POST 请求出现在具有正确请求 header 的 Firebug 中,但未收到任何响应。我检查了端点服务器 (mydomainx.com),它没有收到请求(说/var/log/apache2/access.log 和 error.log)。当 xhr.readystate == 4 ----> status = 0,没有响应文本时,我还显示了 status/responseText。

我尝试制作没有数据的 XHR,或者使用 GET 而不是 POST,没有内容 header ,使用文本/纯内容 header => 完全相同的结果(在 chrome 上使用 http/https,在 firefox 上使用http,不适用于带 https 的 firefox。

我花了很多时间尝试在谷歌上寻找解释但没有成功...任何帮助将不胜感激。 非常感谢

最佳答案

您是否尝试过在 Firefox 选项卡中访问安全版本的 URL?听起来 Firefox 可能卡在了 SSL 证书上,并且可能希望您添加一个异常(exception)以在对该 URL 的 XHR 请求生效之前接受该证书。

关于javascript - 跨域 XHR 到 https 地址 (SSL) 在 Firefox 中失败(在 Chrome 中工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21065016/

相关文章:

javascript - 我想在使用ajax删除记录后淡出该记录

php - 使用 ajax 和 php 将 Canvas 上下文作为图像上传

javascript - 刷新页面删除 bootstrap-select 样式

javascript - 在函数中调用当前日期

javascript - vue.js 显示json数据

带有 iframe 的 Javascript 显示/隐藏 div 适用于除 IE 之外的所有内容

javascript - 类型错误 : Property 'handleEvent' is not callable IN FIREFOX

Firefox:网络监视器:如何调试 JSON 有效负载?

python - Selenium 中的简单文件上传片段适用于 Chrome,但不适用于我的 Mac 上的 Firefox

javascript - 使用VBA抓取实时数据