Try this code to watch for, and report, a possible net::ERR_INSECURE_RESPONSE
I was having this issue as well, using a self-signed certificate, which I have chosen not to save into the Chrome Settings. After accessing the https domain and accepting the certificate, the ajax call works fine. But once that acceptance has timed-out or before it has first been accepted, the jQuery.ajax() call fails silently: the timeout parameter does not seem help and the error() function never gets called.
As such, my code never receives a success() or error() call and therefore hangs. I believe this is a bug in jquery's handling of this error. My solution is to force the error() call after a specified timeout.
This code does assume a jquery ajax call of the form jQuery.ajax({url: required, success: optional, error: optional, others_ajax_params: optional}).
Note: You will likely want to change the function within the setTimeout to integrate best with your UI: rather than calling alert().
const MS_FOR_HTTPS_FAILURE = 5000; $.orig_ajax = $.ajax; $.ajax = function(params) { var complete = false; var success = params.success; var error = params.error; params.success = function() { if(!complete) { complete = true; if(success) success.apply(this,arguments); } } params.error = function() { if(!complete) { complete = true; if(error) error.apply(this,arguments); } } setTimeout(function() { if(!complete) { complete = true; alert("Please ensure your self-signed HTTPS certificate has been accepted. " + params.url); if(params.error) params.error( {}, "Connection failure", "Timed out while waiting to connect to remote resource. " + "Possibly could not authenticate HTTPS certificate." ); } }, MS_FOR_HTTPS_FAILURE); $.orig_ajax(params); }