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 :

Javascript : affiche les entêtes HTTP


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 22
    Points : 20
    Points
    20
    Par défaut Javascript : affiche les entêtes HTTP
    Bonjour,

    Je cherche à utiliser un script que j'ai trouvé dans Ajax à 200% paru chez o'reilly. Or ce script ne fonctionne pas, et je ne parviens pas à en trouver l'erreur.

    J'ai une page html qui fait appel à la fonction traiteReponse, en afficant msgAffichage dans un tableau.

    Voilà mon script :

    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    var request;
    var urlFragment="http://localhost:80/";
     
    function getAllHeaders(url){
    httpRequest("GET",url,true);
    }
     
    //fonction de gestion de l'événement onreadystatechange de XMLHttpRequest
    function traiteReponse( ) {
    try{
    if(request.readyState == 4){
    if(request.status == 200){
    /* toutes les entêtes sont reçues sous la forme
    d'une chaine de caractéres */
    var headers = request.getAllResponseHeaders();
    var div = document.getElementById("msgAffichage");
    div.className="header";
    div.innerHTML="<pre>"+headers+"</pre>";
    } else {
    // request.status est 503 si l'appli est indisponible
    // 500 si appli rencontre un bug
    alert(request.status);
    alert("un probléme de communication est survenu entre " + "l'objet XMLHttpRequest et le programme côté serveur.");
    }
    }//fin de la boucle si
    } catch (err) {
    alert("Le serveur ne paraît pas" + 
    "dipsonible pour l'application. Veuillez"+
    " réessayer dans un instant. \nErreur : "+err.message);
    }
    }
    /* initialise un objet de requête qui a été préalablement construit */
    function initReq(reqType,url,bool){
    try{
    /* Spécifie la fonction qui va traiter le réponse HTTP */
    request.onreadystatechange=traiteReponse;
    request.open(reqType,url,bool);
    request.send(null);
    } catch (errv) {
    alert(
    "L'application ne parvient pas à contacter le serveur actuellement. " +
    "Veuillez réessayer dans quelques secondes.");
    }
    }
    /* Fonction d'encapsulation l'objet de requête.
    Paramétres :
    reqType : Le type de requête HTTP, comme GET ou POST.
    url : L'URL de programme côté serveur.
    asynch : Précise si l'envoi de la requête est asynchrone ou non. */
    function httpRequest(reqType,url,asynch){
    //Pour les navigateurs basés sur Mozilla
    if(window.XMLHttpRequest){
    request = new XMLHttpRequest();
    } else if (window.ActiveXObject){
    request=new ActiveXObject("Msxml2.XMLHTTP");
    if (! request ){
    request=new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    //la requête peut toujours être nulle s'il ne s'agit pas d'ActiveXObject
    //l'initialisation a abouti
    if(request){
    initReq(reqType,url,asynch);
    } else {
    alert("Votre navigateur ne permet pas l'utilisation "+
    "de toutes les focntionnalités de cette application !");
    } 
    }
    Si j'utilise mon script, je tombe sur le message d'alerte "L'application ne parvient pas à contacter le serveur actuellement. Veuillez réessayer dans quelques secondes." (l.40-41). Or, j'ai bien lancé easyphp qui utilise le port 80 de localhost... et je ne comprends pas pourquoi mon script ne fonctionne pas.

  2. #2
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Sécurité ?
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    En effet, cela semble être un blocage de sécurité du navigateur Firefox.. car sous IE mon script fonctionne.

    Pourtant, dans les options de firefox, j'ai autorisé javascript à toutes les actions :
    Déplacer fenêtres, passer fenêtres en avant/arriére plan, d/activer/désactiver menu, cacher barre d'état et modifier barre état.

    Je vais voir sur les forums gecko si ils sont entendu parlé de ce probléme.

    @ ++
    Chodaboy www.easycomputer.fr

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

Discussions similaires

  1. [PHP 5.2] L'inclusion d'un URL affiche les entêtes HTTP
    Par lioudow dans le forum Langage
    Réponses: 1
    Dernier message: 17/06/2010, 16h02
  2. Réponses: 1
    Dernier message: 18/12/2007, 11h06
  3. Réponses: 16
    Dernier message: 19/02/2007, 16h25
  4. Réponses: 7
    Dernier message: 24/01/2007, 16h05
  5. [JTable] Ne pas afficher les entêtes de colonnes
    Par nicolas.pied dans le forum Composants
    Réponses: 2
    Dernier message: 27/01/2006, 11h22

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