Manipuler variable envoyé php via ajax

Fermé
tidave971 Messages postés 4 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 23 avril 2010 - 23 avril 2010 à 16:24
NothingAtALL Messages postés 26 Date d'inscription mercredi 10 décembre 2008 Statut Membre Dernière intervention 2 mai 2010 - 2 mai 2010 à 17:29
Salut à tous
voici mon code qui fonctionne tres bien,




<script language="javascript" type="text/javascript"> 
function refresh_div() { 
    var xhr_object = null; 
    if (window.XMLHttpRequest) { 
        xhr_object = new XMLHttpRequest(); 
    } else if (window.ActiveXObject) { 
        try { 
            xhr_object = new ActiveXObject('Microsoft.XMLHTTP'); 
        } catch(e) { 
        } 
    } else { 
    } 
    var method = 'POST'; 
    var filename = 'page.php'; 
    xhr_object.open(method, filename, true); 
    xhr_object.onreadystatechange = function() { 
        if(xhr_object.readyState == 4) { 
            var texte = xhr_object.responseText; 
            document.getElementById('div_son').innerHTML = texte; 
        var timer=setTimeout("refresh_div()",5000); // rafraichie toute les 1sec 
        } 
    } 
    xhr_object.send(null); 
} 
</script>





Je voudrais savoir comment recuperer le valeurs se trouvant dans texte

Admettons si j'ai :
$truc1, $truc2, $truc3

je veux recuperer les valeurs de chacun , et les utiliser si besoin est

exemple,
si truc1=="ok" alors....
si truc 2=="ok" alors..

Mais pour cette partie je peux me debrouiller, je veux juste recuperer les variables qui sont dans "texte"

Merci encore de m'aider
A voir également:

6 réponses

NothingAtALL Messages postés 26 Date d'inscription mercredi 10 décembre 2008 Statut Membre Dernière intervention 2 mai 2010 5
Modifié par NothingAtALL le 24/04/2010 à 23:41
Ce n'est pas possible, sinon tu pourrais appeler n'importe quelle page php et avoir le contenu des variables. Le PHP est un script qui est exécuté par le serveur.

Ce que tu pourrais faire c'est mettre sur la page que tu appelles :
echo "$truc1,$truc2,$truc3";

et après quand tu reprends la valeur de ton call ajax, tu fais un split sur la virgule.

Il n'y a aucune variable dans texte seulement du texte.

Sinon pour utiliser les variables, il faudrait que tu fasses un include de ton fichier php et après que tu utilises les variables dans ton javascript.
1
ok je te remercie,
je vais voir comment faire ça
je pense qu'avec le xml c'est possible

Je ne sais pas encore comment mettre en oeuvre ta solution,
donc si je peux encore recevoir un peu d'aide, je serais tres content

Merci
0
NothingAtALL Messages postés 26 Date d'inscription mercredi 10 décembre 2008 Statut Membre Dernière intervention 2 mai 2010 5
28 avril 2010 à 01:43
Je ne vois pas vraiment l'utilité d'aller chercher un XML en AJAX. Ta variable texte contiendrait un XML que tu serais forcé de parser, se qui t'alourdirais sérieusement la tâche. Peut-être que je ne comprends juste pas ton problème.

Tu pourrais faire la comparaison du côté du fichier que ta requête AJAX appelle? De ce côté, tu aurais accès aux variable et tu pourrais retourner exactement ce que tu veux comme résultat pour effectuer l'update dans ton div. Mais sinon il faudrait que tu donnes plus de détails.
0
Ok voilà ce que je veux faire
mon code ajax appel une page "page.php" toutes les 2 secondes
disons que cette page s'appelle "page.php"

Cette page renvoie le nombre de connectés sur mon chat et aussi leur pseudo et leur pays simplement en listant une base de données tout simplement.

Alors tout est ok, la page s'affiche dans mon div et je vois les connectes ainsi que leur nombre. La page est bien envoiyé à mon div " div_son".

Alors ce que je veux faire c'est recuperer le nombre de connecté et les pseudos envoyé par ma page, dans des variables quand le callback est fait.

De sorte que je puisse agir au niveau du callback en fonction de ces variables.

Par exemple, dire
if(connectes==1) { alert("il y a un connecté"); }
ou
if (pseudo="tonton) { playson(1) ;}

Mais je n'arrive pas a recuperer les variables dans le texte envoyé par ajax,
quand je fais un alert sur le texte pour voir ce qu'il ya dedans il ya le texte de toute la page avec le code et tout

Je sais qu'il faut parser pour faire ça, mais je ne vois pas comment faire

quelqu'un a une idée car je seche

j'ai ete un peu long pour bien expliquer mon probleme

Merci encore pour votre aide...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut à tous, je suis toujours a la reponse d'une reponse
merci de m'aider
0
NothingAtALL Messages postés 26 Date d'inscription mercredi 10 décembre 2008 Statut Membre Dernière intervention 2 mai 2010 5
2 mai 2010 à 17:29
N'appelles pas la page au complet, appelle seulement un autre script qui te génère seulement le résultat que tu désire afficher. Et je me répète, tu ne peux pas avoir le contenu d'une variable sur la page que tu appelles en AJAX.

Voici un exemple
page.php

<?php
....
// appel AJAX à la page callAJAX.php -début-
...
var texte = xhr_object.responseText;
document.getElementById('div_son').innerHTML = texte;
...
// appel AJAX -fin-


?>


callAJAX.php

<?php
// requête à la bd
...
$pseudo = array();
while ($row = mysql_fetch_assoc($res)) {
$pseudo[] = $row['pseudo'];
}
echo mysql_num_rows($res).'|'.implode(',',$pseudo);

?>

Il manque beaucoup de texte mais ça devrait te faire comprendre le principe!
0