Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : encore une fonction qui marche pas ! [ JavaScript Orienté objet (POO) / Function & Méthodes ] (nicomilville)

lundi 7 juillet 2008 à 12:55:15 | encore une fonction qui marche pas !

nicomilville

Membre Club
Salut,

J'ai encore un problème avec une fonction qui ne marche pas !

ma fonction :

function aff_discution() {
 var xhr_object = null;
 
 if(window.XMLHttpRequest)
  xhr_object = new XMLHttpRequest();
 else if(window.ActiveXobject)
  xhr_object = new ActiveXobject("Microsoft.XMLHTTP");
 else{
  alert("Votre navigateur n'est pas compatible avec XMLHttpRequest");
  return;
 }
 
 xhr_object.open("POST", "recup_message.php", true);
 
 xhr_object.onreadystatechange = function () {
  if (xhr_object.readyState== 4) {
   if (xhr_object.status == 200) {
    document.getElementById('messages').innerHTML = xhr_object.responseText;
   }
  }
 }
 
 xhr_object.send('');
}

Ma fonction est censé afficher les message récupèrer par la page recup_message.php mais elle n'en fait rien !

Merci d'avance !

a++

Si la réponse vous convient, pensez : Réponse acceptée !


lundi 7 juillet 2008 à 13:08:36 | Re : encore une fonction qui marche pas !

nickadele

Membre Club Administrateur CodeS-SourceS
De quel coté cela ne fonctionne pas ? User ou Server ?
Y a t il un message d'erreur ?

lundi 7 juillet 2008 à 13:15:25 | Re : encore une fonction qui marche pas !

nickadele

Membre Club Administrateur CodeS-SourceS
Pourquoi ? " if (xhr_object.status == 200) "

Extrait de : http://www.toutjavascript.com/savoir/xmlhttprequest.php3#section_03
"Il existe une autre propriété intéressante qui est status et qui représente le code HTTP retourné par la requête. Il est bon de savoir que Firefox déclenche une erreur si on tente d'accéder à cette propriété avant que readyState ne vaille 4. "

lundi 7 juillet 2008 à 13:20:34 | Re : encore une fonction qui marche pas !

bultez

Membre Club


Bonjour,

soit tu n'appelles pas la fonction,
soit tu as une erreur javascript,
soit le php appelé plante
soit ton erreur est ailleurs
soit...    ( nickadele++ en fait ! )

j'ai testé  ( sans regarder le code, uniquement en le copiant/collant ! )
t.htm :
<script>
function aff_discution() {
 var xhr_object = null;
 if(window.XMLHttpRequest)
  xhr_object = new XMLHttpRequest();
 else if(window.ActiveXobject)
  xhr_object = new ActiveXobject("Microsoft.XMLHTTP");
 else{
  alert("Votre navigateur n'est pas compatible avec XMLHttpRequest");
  return;
 }
 xhr_object.open("POST", "t.php", true);
 xhr_object.onreadystatechange = function () {
  if (xhr_object.readyState== 4) {
   if (xhr_object.status == 200) {
    alert(xhr_object.responseText);
   }
  }
 }
 xhr_object.send('');
}
aff_discution();
</script>

t.php
<?php echo 'ok'; ?>


"ok" est bien affiché

                Cordialement            Bul         [mon Site]     [M'écrire]

lundi 7 juillet 2008 à 13:30:07 | Re : encore une fonction qui marche pas !

bultez

Membre Club
euh... enfait, testé uniquement avec FF, pas vérifié avec IE....
mais "à l'oeil", pas de raisons, et si c'est le cas, le debuuger dit ce qui ne va pas.

                Cordialement            Bul         [mon Site]     [M'écrire]

lundi 7 juillet 2008 à 15:50:16 | Re : encore une fonction qui marche pas !

nicomilville

Membre Club
Salut,

Merci pour ces réponses !

l'erreur se passe coté client...

Je n'ai pas de message d'erreur !

j'ai mis la condition du statut dans la condition du readystate donc pas d'erreur !

J'ai fais un appel a la fonction déja !

a++

Si la réponse vous convient, pensez : Réponse acceptée !


lundi 7 juillet 2008 à 16:36:30 | Re : encore une fonction qui marche pas !

bultez

Membre Club


>>'erreur se passe coté client...
donc il y a un message
>>Je n'ai pas de message d'erreur !
ah ben ? et comme je fais, avec ce que tu donnes... pas d'erreur !
donc,

soit  document.getElementById('messages').innerHTML = xhr_object.responseText; qui plante
soit tu n'appelles pas la fonction
soit ton erreur est ailleurs.


                Cordialement            Bul         [mon Site]     [M'écrire]

lundi 7 juillet 2008 à 17:00:37 | Re : encore une fonction qui marche pas !

nicomilville

Membre Club
mon code d'appel marche mais ça vient peut être de mon code php, je vais voir !

mon code php :

<?php
if(isset($_POST['message']) && isset($_POST['pseudo1']) && isset($_POST['pseudo2'])) {
 mysql_connect('','','');
 mysql_select_db('');
 
 $pseudo1 = urldecode($_POST['pseudo1']);
 $pseudo2 = urldecode($_POST['pseudo2']);
 $message = urldecode($_POST['message']);
 
 $sql = "INSERT INTO messages VALUES('','".$pseudo1."','".$pseudo2."','".$message."','non')";
 mysql_query($sql) or die(mysql_error());
 
 $query = "SELECT * FROM messages WHERE expediteur='".$pseudo1."' AND destinataire='".$pseudo2."'";
 $retour = mysql_query($query);
 
 while($row = mysql_fetch_array($retour)) {
  echo $row['expediteur'].' : '.$row['message'].'<br/>';
 }
 
 mysql_close();
} else {
 mysql_connect('','','');
 mysql_select_db('');
 
 $query = "SELECT * FROM messages WHERE expediteur='".$pseudo1."' AND destinataire='".$pseudo2."'";
 $retour = mysql_query($query);
 
 while($row = mysql_fetch_array($retour)) {
  echo $row['expediteur'].' : '.$row['message'].'<br/>';
 }
}
?>

Avez vous une solution ?

merci d'avance !

a++

Si la réponse vous convient, pensez : Réponse acceptée !


lundi 7 juillet 2008 à 17:08:44 | Re : encore une fonction qui marche pas !

AlexN

Roooh,

Tu fais un POST, mais tu n'envoie rien dans le POST.
En gros t'as envoyé une lettre dument affranchie, mais VIDE....

En fait, la release de ce projet de chat c'est pour 2040 ou 2050 ?

;o)

lundi 7 juillet 2008 à 17:34:03 | Re : encore une fonction qui marche pas !

AlexN

Réponse acceptée !
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <title>syst&egrave;me de chat pour souris</title>
    <script>
function recup_text() {
 var O_text = document.getElementById('text').value;
 var O_pseudo1 = document.getElementById('pseudo1').value;
 var O_pseudo2 = document.getElementById('pseudo2').value;
 var data = "message="+O_text+"&pseudo1="+O_pseudo1+"&pseudo2="+O_pseudo2;
 var xhr_object = null;
 
 if(window.XMLHttpRequest)
  xhr_object = new XMLHttpRequest();
 else if(window.ActiveXobject)
  xhr_object = new ActiveXobject("Microsoft.XMLHTTP");
 else{
  alert("Votre navigateur n'est pas compatible avec XMLHttpRequest");
  return;
 }
 
 xhr_object.onreadystatechange = function () {
  if (xhr_object.readyState== 4) {
    if (xhr_object.status == 200)
     document.getElementById('discussion').innerHTML =
       document.getElementById('discussion').innerHTML + xhr_object.responseText;
  }
 }
 
 xhr_object.open("POST",'recup_message.php', true);
 xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
 xhr_object.send(data);
}
    </script>
    </head>
    <body>
      pseudo 1 : <input type="text" id="pseudo1"></input>
      pseudo 2 : <input type="text" id="pseudo2"></input>
      message : <textarea id="text"></textarea>
    <input type="button" onclick="javascript:recup_text()" value="envoyer"></input>
    <br/>
      discussion : <textarea id="discussion"></textarea>
    </body>
</html>


recup_message.php :

<?php
    $pseudo1 = $_POST['pseudo1'];
    $pseudo2 = $_POST['pseudo2'];
    $message = $_POST['message'];
    echo $message;
?>

Y'a pas besoin d'encoder tes données, elles ne sont plus envoyées dans l'url...
(de rien c'est 2040 euros sans les charges...)
Bonjour à ton patron.


1 2

Cette discussion est classé dans : fonction, marche, xhr, object, if


Répondre à ce message

Sujets en rapport avec ce message

problème appel de fonction [ par jesusonline ] Bonjour, J'ai un problème pour appeller une fonction, j'ai esayer plusieurs choses mais rien ne fonctionne Voici le code         this.contentFi XmlHttpRequest problème [ par Bumcello ] Bonjour,J'ai un problème dans mon utilisation de l'objet XmlHttpRequest voici ma fonction :function fnXmlHttpRequest(Page,objdest){         var xhr_ob Vérification de doublons [ par eddie5150 ] Bonjour à tous,je viens de me lancer dans AJAX, mais je ne comprends pas encore tout très bien,aussi j'ai essayé d'effectuer une vérification automati Envoi de donnée [ par coolboy78 ] Bonjour,je debute en ajax, j'aimerai, lorsque mon utilisateur quitte ma page, faire un update dans ma base.Comment faire ?j'ai débuté avec ca :functio settimeout [ par nicomilville ] pouvez vous me dire ou est l'erreur dans ce code svp, il semblerait que l'erreur soit a la ligne rouge :    setTimeout(actualisation(), 10);  function Passer des parametres dans une fonction dans l'appel d'une fonction [ par Jbs106 ] Bonjour, merci à vous de me lire.souvenez de mon bout de code?function Ajax(fonction,IdObjet,texte,fromColor,toColor){    var xhr_object = null;    if asynchrone [ par nicomilville ] voici mon code :var xhr_object = null;if(window.XMLHttpRequest)xhr_object = new XMLHttpRequest();else if(window.ActiveXobject)xhr_object = new ActiveX XMLHttpRequest [ par softghost ] bonjour tous le monde;j'utilise xmlhttprequest pour l'envoi de requet entre les page en restand sur index avec un il marche tres bien, a mon cas j'ape Encore des erreurs ! [ par nicomilville ] Salut,Et oui, c'est encore moi, vous devez vous dire que je suis un nul, c'est peut être vrai, lol J'ai encore des erreurs sur mon code... Si ça co intérompre une fonction... [ par davidcian ] Bonjour,Je cherche a stopper le déroulement d'une fonction lors d'une condition, j'ai testé avec return mais ça marche pas...Fonction principal:functi


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.