如何识别确切的ajax呼叫失败原因?

时间:2015-12-10 10:13:35

标签: jquery ajax error-handling self-signed

我在本地网络中的一台计算机上运行本地Web服务,该计算机是带有自签名证书的https。由于它是自签名的,Chrome(和其他浏览器)拒绝来自我的javascript的调用。我得到一个异常(转到失败的情况),但文本为null,状态为零。当由于DNS解析问题(主机无法访问)或类似错误而失败时,它是相同的状态和文本。有没有办法确定确切的错误?我想确定自签名证书问题,以便我可以请求用户手动信任证书。

注意:我的网站是带有正确证书的HTTPS,但是,我要使用的本地服务是带有自签名证书的https。

1 个答案:

答案 0 :(得分:1)

试试这个:

$.ajax({
       async: 'false',
        type: 'GET',
         url: 'http://',
     success: function(data, textStatus ){
         console.log('STATUS: '+textStatus);
     },
     error: function(xhr, textStatus, errorThrown){
       console.log('STATUS: '+textStatus+'\nERROR THROWN: '+errorThrown);
     }
});
  • async:false 让您的AJAX调用同步,使其逐行执行,因此AJAX调用后的任何内容都必须等到它完成。
  

警告:不推荐使用同步AJAX调用,因为它可能会损害用户体验(通过等待很多次)。