Wie handhaben net::ERR_CONNECTION_REFUSED in jquery ajax
Ich habe diese Art von javascript:
$.ajax({
url: "//myapi.com/json",
dataType: "jsonp"
}).done(function (data) {
selectText('Id', data.country);
}).fail(function (jqXHR, textStatus, errorThrown) {
var defaultOption = 'US'
selectDropdownByText('Id', defaultOption);
console.log(errorThrown);
});
Aber die Sache ist, dass auf https-Anfrage mein ajax nicht funktioniert, da service, den ich Vorschlage, ist nicht erreichbar über https und ich bin immer Fehler :ERR_CONNECTION_REFUSED
- so, dass ist in Ordnung, ich möchte nur umgehen, dass. Ich habe .fail
im ajax-call, aber es ist nicht die Handhabung :ERR_CONNECTION_REFUSED
Könnten Sie Ratschläge geben, wie man mit :ERR_CONNECTION_REFUSED
in diesem Fall?
Ich auch versucht hatte, Sie zu wickeln mein ajax-Aufruf try-catch
block, aber es hat nicht funktioniert entweder.
InformationsquelleAutor der Frage user2926340 | 2015-04-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
timeout
Eigenschaft von$.ajax
Feuer dererror
Rückruf.Dadurch wird sichergestellt, dass die
error
callback wird ausgelöst wenn der server antwortet nicht innerhalb einer bestimmten Frist.Diese löst die
fail
Rückruf, wenn es kein internet.InformationsquelleAutor der Antwort mohamedrias
Scheint es, dass, wenn jqXHR.readyState (d.h., die readyState-Bereich des ersten parameter an die $.ajax(...).fail () - Methode) 0 ist, dass ein Netzwerk-Fehler aufgetreten ist. Allerdings habe ich nicht in der Lage gewesen, zu ermitteln, was die genauen Netzwerk-Fehler ist via JavaScript.
Ich habe mir das jQuery-Ajax-code, und xhr.send() (d.h., dem XMLHttpRequest-Objekt.send ()) - Methode (generiert das Netzwerk-Fehler) nicht fangen, noch werfen Sie den Fehler. So, es ist nicht möglich, es zu fangen.
Scheint es, dass der browser erkennt und zeigt die richtige Fehlermeldung, sondern, dass jQuery ist im Bezug auf den speziellen Typ der Netzwerk-Fehler.
InformationsquelleAutor der Antwort Darwin Airola
So,
fail
wird aufgerufen, wenn wir eineERR_CONNECTION_REFUSED
aber es gibt keinen Weg, um tatsächlich zu sehen, warumfail
aufgerufen wird. Gibt es eine Möglichkeit zu erkennen, innerhalb der fail-Methode, warum es gescheitert? d.h. die timeout-vs-connection refused? Es gibt einen Unterschied zwischen den beiden. Ich könnte möglich wiederholen, der andere macht keinen Unterschied.Brauchen Sie nicht zu set timeout to handle connection refused Fehler.
InformationsquelleAutor der Antwort BradW