Comment obtenir le code de statut HTTP d'un autre site avec JavaScript?Comment obtenir le statut HTTP de JavaScript
3
A
Répondre
1
Je suppose que JavaScript, avec JQuery, simplifie beaucoup les requêtes AJAX, comme ceci.
$.ajax({
url: 'url',
type: 'GET',
complete: function(transport) {
doing whatever..
}
});
7
Essayez le morceau suivant de code javascript:
function getReq() {
var req = false;
if(window.XMLHttpRequest) {
try {
req = new XMLHttpRequest();
} catch(e) {
req = false;
}
} else if(window.ActiveXObject) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
req = false;
}
}
if (! req) {
alert("Your browser does not support XMLHttpRequest.");
}
return req;
}
var req = getReq();
try {
req.open("GET", 'http://www.example.com', false);
req.send("");
} catch (e) {
success = false;
error_msg = "Error: " + e;
}
alert(req.status);
4
Vous devrez utiliser XMLHttpRequest pour obtenir le code d'état HTTP. Cela peut être fait en faisant une requête HEAD au serveur pour l'URL requise. Créer un objet XMLHttpRequest - XHR, et faire le
suivantxhr.open("HEAD", <url>,true);
xhr.onreadystatechange=function() {
alert("HTTP Status Code:"+xhr.status)
}
xhr.send(null);
Voir here pour plus de détails.
2
Vous ne pouvez pas faire cela directement avec AJAX à cause de la même politique d'origine.
Vous devez configurer un service proxy sur votre serveur, puis effectuer des appels ajax avec l'adresse que vous souhaitez vérifier. À partir de votre proxy serveur, vous pouvez utiliser cURL ou l'outil whatver pour vérifier le code d'état et le renvoyer au client.
Comment allez-vous chercher le contenu? Du code aiderait. –
Vous ne pouvez pas .. pas directement de toute façon (en raison de la politique de même domaine). Vous devrez peut-être utiliser un proxy. – James
http://stackoverflow.com/questions/837064/how-to-detect-http-status-from-javascript Peut-être que cela peut vous aider ... si vous avez la même question ... sinon, veuillez élaborer. – PHP