相关疑难解决方法(0)

确定ajax调用是否因不安全的响应或连接被拒绝而失败

我一直在做很多研究,但找不到办法解决这个问题.我正在尝试从https服务器执行jQuery ajax调用到运行带有自定义自签名证书的jetty的locahost https服务器.我的问题是我无法确定响应是拒绝连接还是不安全响应(由于缺少证书接受).有没有办法确定两种情景之间的差异?的responseText,并且statusCode总是在这两种情况下是相同的,即使在Chrome控制台我可以看到一个区别:

net::ERR_INSECURE_RESPONSE
net::ERR_CONNECTION_REFUSED
Run Code Online (Sandbox Code Playgroud)

responseText总是""并且statusCode对于两种情况总是"0".

我的问题是,如何确定jQuery ajax调用是否因为ERR_INSECURE_RESPONSE或由于ERR_CONNECTION_REFUSED?而失败?

一旦证书被接受,一切正常,但我想知道本地主机服务器是关闭,还是启动并运行,但证书尚未被接受.

$.ajax({
    type: 'GET',
    url: "https://localhost/custom/server/",
    dataType: "json",
    async: true,
    success: function (response) {
        //do something
    },
    error: function (xhr, textStatus, errorThrown) {
        console.log(xhr, textStatus, errorThrown); //always the same for refused and insecure responses.
    }
});
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

即使手动执行请求,我也会得到相同的结果:

var request = new XMLHttpRequest();
request.open('GET', "https://localhost/custom/server/", true);
request.onload = function () {
    console.log(request.responseText);
};
request.onerror = function () {
    console.log(request.responseText);
};
request.send();
Run Code Online (Sandbox Code Playgroud)

javascript ajax https jquery cors

114
推荐指数
3
解决办法
3万
查看次数

标签 统计

ajax ×1

cors ×1

https ×1

javascript ×1

jquery ×1