AJAX: probleme variable

Fermé
mannno - 22 nov. 2016 à 19:29
jordane45 Messages postés 38469 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 22 avril 2025 - 28 déc. 2016 à 19:31
Bonjour,
Je cherche la possibilité d'enregistrer un "brouillon" dans ma bdd
voici le debut de mon code
<script text="javascript">

function timer()
{
comp=(setTimeout("go()",5000));
}

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
         }

function go()
{
   var xhr = getXhr()
   // 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 == 200)
               {
               
                  var html = xhr.responseText;
                  document.getElementById('cible').innerHTML = html;
                  
               }
      }
   xhr.open("GET","brouillon.php",true);
   xhr.send(null);
   setTimeout('go()',5000);
}
</script>   

Bien entendu il fait tout cela en arriere plan sans déranger qui que ce soit. Mon php fontionne, mais ne veux pas me donner la variable de mon champs message en bdd
mais quand je tape du texte il l’enregistre sans aucun soucis.
Avez vous une idée?


1 réponse

jordane45 Messages postés 38469 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 22 avril 2025 4 741
28 déc. 2016 à 19:31
Bonjour,

1 - Ton code côté PHP .. il attend des variables POST ou GET ?
Montre le nous !

2 - Dans ton javascript .. tu ne lui envoies pas de variable... normal qu'il n'en trouve pas!
Il faut la passer dans l'url
Exemple :
var url = "brouillon.php";
var params = "var1=dutexte&autrevar=autre bla bla"; //ajout de deux variables à l'url
http.open("GET", url, true); //Appel de l'url
http.send(params);// envoie de l'ajax


..; Bien entendu.. tu remplaces la (ou les..) variables par le contenu de tes champs à sauvegarder en BDD...
Par exemple.. si c'est dans un input dont l'id est toto
var montxt = document.getElementById('toto').value;
var params = "var1="+montxt ;
// ....

et côté php
 //récupération PROPRE des variables
 $monTxt = !empty($_GET['var1']) ? $_GET['var1'] : '';

0