Подтвердить что ты не робот

Как поймать сеть:: ERR_CONNECTION_REFUSED

Есть ли способ поймать failed to load resource: net::ERR_CONNECTION_REFUSED, я пробовал:

try {
  $.post('',{},function(res) {
  }).fail(function (xhr, textStatus, errorThrown) { 
    xhr.textStatus = textStatus;
    xhr.errorThrown = errorThrown;
    console.log('fail',xhr);
    // how to get the 'ERR_CONNECTION_REFUSED' or anything else as string?
  });
} catch(e) {
  console.log('catch',e);
}

Функция сбоя может быть заражена, но я не получил информации об ошибке, либо она:

  • ERR_NAME_NOT_RESOLVED
  • ERR_CONNECTION_REFUSED
  • ERR_BLOCKED_BY_CLIENT
  • ERR_TUNNEL_CONNECTION_FAILED (при использовании прокси)

или что-нибудь еще.. вопрос будет, как получить такую ​​ошибку?

4b9b3361

Ответ 1

Я даже пытался достичь цели, используя JavaScript XMLHttpRequest()

var xhttp= new XMLHttpRequest();
try{
  xhttp.onreadystatechange = function() {
    console.log(xhttp);
    if (xhttp.readyState == 4 && xhttp.status == 0) {
      alert("Unknown Error Occured. Server response not received.");
    }
  };
  xhttp.open("POST", "http://localhost:8080/data", true);
  xhttp.send();
}catch(e){
  console.log('catch', e);
}

Ответ 2

var xhttp= new XMLHttpRequest();
xhttp.onreadystatechange = function() {
console.log(xhttp);

xhttp.onerror = function(e){
    alert("Unknown Error Occured. Server response not received.");
};

xhttp.open("POST", "http://localhost:8080/data", true);
xhttp.send();

Альтернативным способом получения ошибок, которые могут быть легче понять позже, является обработчик события onerror. Из того, что я видел, он не даст вам более полезной информации, чем решение Киранса.

Ответ 3

У вас есть доступ к онлайн/оффлайн в Chrome.

var _Network_state = true;
    function updateIndicator() {
        // Show a different icon based on offline/online
        if (navigator.onLine) { // true|false
            // ... do other stuff
            _Network_state = true;
        } else {
            // ... do other stuff
            _Network_state = false;
        }
        console.info(_Network_state ? 'Online' : 'Offline');
    }
    // Update the online status icon based on connectivity
    window.addEventListener('online',  updateIndicator);
    window.addEventListener('offline', updateIndicator);
    updateIndicator();

Перед вызовом ajax, проверьте " _Network_state "