Partage
  • Partager sur Facebook
  • Partager sur Twitter

ajax n'affiche rien en retour de ma requête

Sujet résolu
    5 octobre 2009 à 12:22:39

    Bonjour à tous !
    Malgré la lecture de multiple tuto ajax, mes premiers pas sont un peu tiède :(
    Le prog consiste a saisir un commentaire dans un formulaire et lors de la validation, j'aime un message en retour du genre 'votre com a bien été pris en compte'. Donc en résumé j'ai aucun soucis ni avec php/mysql, le passage des variables se fait bien, l'insert dans la base mysql aussi, ajax répond mais n'affiche rien .. erreur de syntaxe de débutant ? please help !

    code php
    <?php
    header('Content-type: text/html; charset=ISO-8859-15');
    include_once 'fonctions.php'; 
    
    $nom = (isset($_GET['nom'])) ? $_GET['nom'] : NULL;
    $texte_com = (isset($_GET['texte_com'])) ? $_GET['texte_com'] : NULL;
    $id_page = (isset($_GET['id'])) ? $_GET['id'] : NULL;
    
    if ($nom && $texte_com && $id_page) {
    	connexion(); // connection a la base sql
    	$sql = "INSERT INTO commentaires (nom,texte_com,id_page,date) VALUE ('$nom','$texte_com','$id_page',now())";
    	$sql_result = mysql_query($sql) or die (mysql_error());		
    	// message succes
    	echo "Votre commentaire a été pris en compte" ;
    
    } else {
    	echo "Erreur !";
    }
    ?>
    


    Script ajax
    function getXMLHttpRequest() {
    	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 null;
    	}
    	
    	return xhr;
    }
    
    // Ajouter un commentaire
    function request(callback) {
    	var xhr = getXMLHttpRequest();
    	
    	xhr.onreadystatechange = function() {
    		if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
    			document.getElementById("loader").style.display = "none";
    			callback(xhr.responseText);
    		} else if (xhr.readyState < 4) {
    			document.getElementById("loader").style.display = "inline";
    		}
    	};
    
    	var nom = encodeURIComponent(document.getElementById("nom").value);
    	var texte_com = encodeURIComponent(document.getElementById("texte_com").value);
    	var id = encodeURIComponent(document.getElementById("id").value);
    
    	xhr.open("GET", "ajax.php?nom=" + nom + "&texte_com=" + texte_com + "&id=" + id, true);
    	xhr.send(null);
    }
    
    function readData(sData) {
    	document.getElementById('commentaires').innerHTML = xhr.responseText;
    }
    
    request(readData);
    


    Merci de votre aide en tout cas !
    • Partager sur Facebook
    • Partager sur Twitter
      5 octobre 2009 à 15:17:31

      :D Oui, bête erreur..
      Regarde ça, je suis sûr que tu trouveras toi-même ;)
      function readData(sData) {
      	document.getElementById('commentaires').innerHTML = xhr.responseText;
      }
      

      et sinon ben... regarde ^^
      remplace "xhr.responseText" par sData
      • Partager sur Facebook
      • Partager sur Twitter
        5 octobre 2009 à 16:08:07

        Merci birdy ! t'est vraiment un chouette oiseau :D

        Effectivement quand on a le nez dans le guidon, on ignore totalement le paysage ... erreur bête comme d'ab je changerais jamais !
        • Partager sur Facebook
        • Partager sur Twitter

        ajax n'affiche rien en retour de ma requête

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown