2010-07-21 11 views
3

Comment obtenir le code de statut HTTP d'un autre site avec JavaScript?Comment obtenir le statut HTTP de JavaScript

+1

Comment allez-vous chercher le contenu? Du code aiderait. –

+2

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

+0

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

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

suivant
xhr.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.