/ / URL-Status mit jquery ermitteln - jquery, url, status

Rufen Sie den URL-Status mit jquery - jquery, url, status ab

Ich versuche, den Status eines 403 verbotenen Fehlers zu bekommen. Ich kann es mit PHP-Curl machen, aber ich muss es mit jquery machen.

Hier ist mein Code.

   $.ajax({

url: "https://s3.amazonaws.com/isdukg/01-jaimeson-complete_2_step_mix-pulse.mp3",
type: "GET",
crossDomain: true,
dataType: "jsonp",
statusCode: {
403: function() {
alert("Forbidden");
// or do something useful
}
}
});

$.ajax({

url: "https://s3-eu-west-1.amazonaws.com/fkcreate/Angles%2C%20Circles%20and%20Triangles..%20Instrumental.mp3",
type: "GET",
crossDomain: true,
dataType: "jsonp",
statusCode: {
403: function() {
alert("Forbidden");
// or do something useful
}
}
});

Eine der URLs erzeugt einen 403 verbotenen Fehler, der hier angezeigt wird, wenn Sie das Konsolenfenster öffnen und die Seite laden. http://scaredem.users36.interdns.co.uk/

Ich kann diesen Fehler nicht fassen, um etwas Nützliches daraus zu machen.

Antworten:

4 für die Antwort № 1

Mit jQuery ajax können Sie Funktionen mithilfe der statusCode-Eigenschaft HTTP-Antwortstatuscodes zuordnen.

$.ajax({
statusCode: {
403: function() {
alert("Forbidden");
// or do something useful
}
}
});

1 für die Antwort № 2

Vielleicht ein timeout Ihnen in dieser Situation helfen. Wenn die Zeit für die Anforderung in 500 Millisekunden abgelaufen ist, erfolgt keine Antwort (ich habe auch versucht, den Antwortstatus abzurufen, aber kein Glück).

jsfiddle

            $.ajax({
url: "https://s3-eu-west-1.amazonaws.com/fkcreate/Angles%2C%20Circles%20and%20Triangles..%20Instrumental.mp3",
type: "get",
dataType: "jsonp",
crossDomain : true,
timeout : 500, // it is milliseconds
complete : function(xhr, responseText, thrownError) {
if(xhr.status == "200") {
alert(responseText); // yes response came
}
else{
alert("No response"); // no response came
}
}
});​