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

AJAX Discussion :

[AJAX] responseText


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 14
    Par défaut [AJAX] responseText
    Bonjour,

    Je suis en plein apprentissage de l'AJAX et j'avoue que je rame

    j'ai développé une petite fonction qui normalement va chercher un texte tout simple dans un ficher info_video.php et l'affiche dans un alert()

    fonction :
    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
     
    function test ()
    {
    	var xhr = null;
    	if (window.XMLHttpRequest || window.ActiveXObject)
    	{
    		if (window.ActiveXObject)
    		{
    			try
    			{
    				xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			}
    			catch(e) 
    			{
    				xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			}
    		} 
    		else
    		{
    			xhr = new XMLHttpRequest(); 
    		}
    	}
    	else
    	{
    		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
    		return;
    	}
     
    	xhr.onreadystatechange = function()
    	{
    		if(xhr.readyState == 4 && xhr.status == 200)
    		{
    			alert('test : '+xhr.responseText);
    		}
    	}
    	xhr.open("POST","info_video.php",true);
    	xhr.send(null);
    }
    fichier php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
            echo "salut";
    ?>

    Mon problème est que tout se déroule correctement jusqu'a l'affichage de la boite alert qui logiquement devrai afficher test : salut
    au lieu de cela celle-ci m'affiche seulement test :

    Je pense donc que le probleme viens de mon xhr.responseText mais étant debutant cela fais 1h que je me prend la tete pour résoudre ce problème sans y arriver.
    Je fais donc appelle à vos connaissances pour m'aider.

    Merci d'avance Julien

  2. #2
    Membre éprouvé Avatar de DiDieuh
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 111
    Par défaut
    Tu envoies du "POST" sans spécifier l'header, remplace le paramètre par "GET" ou sinon tu dois mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    xhr.open("POST","info_video.php",true);
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send(null);
    ça devrait être mieux.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 14
    Par défaut
    Merci c'était bien ça
    je ne comprend pas vraiment cette interet de spécifier un header en quoi cela est utile ?

  4. #4
    Membre éprouvé Avatar de DiDieuh
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 111
    Par défaut
    En gros, quand tu envoie ton url tu as deux moyens de passer des paramètres.
    Une méthode dite GET, pour faire simple, tout est visible, ça ressemble à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monlien?param1=toto&param2=tata
    Ici tu vois tout.

    Alors que par une méthode POST, tu va encodé ton url pour sécurisé ton envoie de paramètres qui ne seront ainsi, pas afficher dans ton url. Pour ça que tu spécifies à ta requête AJAX que l'url formée sera encodée.

    EDIT :
    Le protocole HTTP-GET et le protocole HTTP POST

    Ces protocoles codent les paramètres de demande en tant que paires nom-et-valeur de la demande HTTP. Le protocole HTTP-GET et le protocole HTTP-POST fournissent compatibilité descendante de l'une des manières suivantes.

    * Le protocole HTTP-GET crée une chaîne de requête des paires nom-valeur et ajoute ensuite la chaîne de requête à l'URL du script sur le serveur qui traite la demande. Par conséquent, tu peux sélectionner la demande.
    * Le protocole HTTP-POST transmet les paires nom-et-valeur dans le corps du message de demande HTTP.

  5. #5
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Petite précision, la méthode POST n'apporte aucune sécurité supplémentaire, la requete passant en de toute façon en clair, on peut en voir les paramètres.

    L'intéret de POST est que la taille des données n'est pas limité (hors la limitation du serveur, généralement 2Mo en php), alors que GET est limité au nombre maximal de caractères d'une url (environ 40000 je crois en pratique).

Discussions similaires

  1. [AJAX] responseText marche et responseXML ne marche pas
    Par peck dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 24/04/2007, 17h02
  2. [AJAX] ResponseText renvoie Undefined
    Par d-Rek dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 24/04/2007, 08h57
  3. [AJAX] responseText et JS de <script>
    Par lionheart33806 dans le forum Général JavaScript
    Réponses: 25
    Dernier message: 18/10/2006, 16h08
  4. [AJAX] responseText ou responseXML ?
    Par Greggggggg dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 29/08/2006, 09h46
  5. [AJAX] responseText est vide
    Par julien.63 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 18/04/2006, 16h28

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