Um zu testen, was passiert, wenn ich eine nicht vorhandene Ressource zu laden versuchen (auf dem gleichen Host wie mein Web-Server), ich den folgenden Code ein:
var wrongURL = "http://foo/bar.json"; // non-existent resource
$.ajax({
url: wrongURL,
dataType: 'json',
success: function(jsonResponse, textStatus, jqXHR) {
$.('#divOfInterest').html("you should never see this");
},
error: function(jqXHR, textStatus, errorThrown) {
$.('#divOfInterest').html("sorry, could not find URL");
}
});
// remainder of code...
Statt meine div sorry, could not find URL
die Meldung sehen, erhalte ich eine Konsole Fehler:
GET http://foo/bar.json 404 (Not Found) - bar.json
Alles, was innerhalb des error
Anruf und nach dem $.ajax()
Block (dh // remainder of code
) erhalten nicht
Es sieht so aus, als ob mein Browser (Safari 5.1.5) beim Fehler 404 hängen bleibt und die Funktion vorzeitig verlässt.
Wie bekomme ich den Fehler elegant behandeln und den Rest meines Codes ausführen?
Es funktioniert auch auf Safari 5.0.2 – ocanal