IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Test si la page lien existe


Sujet :

JavaScript

  1. #1
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut [AJAX] Test si la page lien existe
    hi
    dans ma page html, je peux avoir des liens vers des pages qui n existe pas ( ce qui est normal ) et au lieu d avoir la page erreur "le fichier n existe pas " je veux etre rediriger vers une page " pas d information" que je coderai.

    voici mon code :
    le code html et le javascript/ajax associé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
     
    <a class="lien" OnClick="test('./HTMLEvenementsCdt/evtpCdt_EHNS_Dyn.html');" title="Evenements CDT de Dyn">
    CDT</a>
     
    <script type="text/JavaScript">
     
    function getXhr(id){
    var xhr = null; 
    if(window.location(id).XMLHttpRequest) // Firefox et autres
     xhr = new XMLHttpRequest(); 
    else if(window.location(id).ActiveXObject){ // Internet Explorer 
    				   try {
    			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			            } catch (e) {
    			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			            }
    				}
    else { // XMLHttpRequest non supporté par le navigateur 
    				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
     xhr = false; 
    } 
    return xhr
    }
     
    function go(identifiant){
    var xhr = getXhr(identifiant);
     
    // On défini ce qu'on va faire quand on aura la réponse
    xhr.onreadystatechange = function(){
    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    if(xhr.readyState == 4 && xhr.status == 404){				parent.frames['cadre1'].location.replace('NoInformation.html');
    }
    else
    {parent.frames['cadre1'].location.replace(identifiant);
    }
    }			
    }
    }
    </script>

    donc en gros j appele go avec l url de la page, la je prend le xhr de cette page et je teste le status si c'est erreur 404 je balance ma page noinformation et sinon la page demandée ... je pense que il faut que je modifie le "if(window.location(id).XMLHttpRequest) " de function getXhr
    car ca ne marche pas

  2. #2
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    bon la en fait je faisais quand meme n importe quoi

    j ai refais mon code mais j ai un pti pb encore : si la page existe ca l affiche mais si la page n existe pas ben ca met l erreur 404
    je me suis apercu que le xhr.status ete toujours egal a 0 que le fichier existe ou non



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
     
     
    <a class="lien" OnClick="go('./HTMLEvenements/evtp_CdT.html')" title="Evenements de CdT">
    										Ev&eacute;nements
    									</a>
    <br>
    <br>
    <script type="text/JavaScript">
     
     
     
    			function getXhr(){
                                    var xhr = null; 
    				if(window.XMLHttpRequest) // Firefox et autres
    				   xhr = new XMLHttpRequest(); 
    				else if(window.ActiveXObject){ // Internet Explorer 
    				   try {
    			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			            } catch (e) {
    			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			            }
    				}
    				else { // XMLHttpRequest non supporté par le navigateur 
    				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    				   xhr = false; 
    				} 
                                    return xhr
    			}
     
    			/**
    			* Méthode qui sera appelée sur le click du lien
    			*/
    			function go(id){
     
    				var xhr = getXhr();
     
    				// On défini ce qu'on va faire quand on aura la réponse
    				xhr.onreadystatechange = function(){
    				alert (xhr.status);
    					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    					if(xhr.readyState == 4 && xhr.status == 404){
    						parent.frames['cadre1'].location.replace('./Modeles/NoInformation.html');
    					}
    					else
    					{
    					parent.frames['cadre1'].location.replace(id);
     
    					}
    				}
    				xhr.open("GET",id,true);
    				xhr.send(null);
    			}

  3. #3
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    bon en fait all is ok .. c'etait juste un pb de config server ... donc le code est bon ( normal vu que j avais copy/paste depuis les FAQ ..)
    ++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Mettre à jour la page dynamiquement
    Par tiboel dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/06/2006, 16h04
  2. [AJAX] Actualisation d'une page par AJAX
    Par jack_1981 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/06/2006, 13h07
  3. [AJAX] Appel de plusieurs pages avec Ajax
    Par shadowbob dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 13/02/2006, 18h29
  4. Test de Dsiponibilité : Page de login
    Par Nexussmb dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/02/2006, 17h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo