Ajax fonction send sur plusieur valeur [Résolu]

Signaler
Messages postés
20
Date d'inscription
mardi 6 janvier 2004
Statut
Membre
Dernière intervention
19 juillet 2007
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour à tous,
Novice avec Ajax je cherche à envoyer a un fichier de traitement plusieur valeur à la fois.
Je n'arrive a en récupérer qu'une sur les deux. quelqu'un pourrait il m'aider.
J'ai commenter ou ca ne marche pas...
Merci d'avance

voici le code

function go2()
{
    var xhr = getXhr();
    var etatsession =<?=$_SESSION['loged']?>;
    xhr.onreadystatechange = function(){        if(xhr.readyState 4 && xhr.status 200)
        {
            document.getElementById('result').innerHTML = xhr.responseText;
        }
    }
    xhr.open("POST","ajax.php",true);
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    sel2 = document.getElementById('port_contact');
    port_contact = sel2.options[sel2.selectedIndex].value;
    xhr.send("ajaxtransmition2="+port_contact);// ca marche
     xhr.send("ajaxtransmition3="+etatsession); //ca marche pas
}

4 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,
    xhr.send("ajaxtransmition2="+port_contact+'&ajaxtransmition3="+etatsession);



<hr />




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




<hr />
Messages postés
1
Date d'inscription
mercredi 22 février 2006
Statut
Membre
Dernière intervention
20 mars 2007

Salut j'esprer que je n'arrve pas trop  tard pour repondre a ton problem

au fait t'as deux solution
-soit de concaténé les deux valeur que tu verecuperer avec un seprateur , apres tu fais un traitement pr les separar une fois reçu
-soit tu fais ça : xhr.send("variable1="+val1+"&variable2="+val2);
Messages postés
3
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
19 mai 2010

Bonjour,

Voila j'ai besoin de passer deux valeurs pour mettre à jour ma base de donnée.
Et je ne recupère que la première valeur dans mon fichier php, jamais la seconde.
J'ai beau regarder dans les forum je ne comprends pas tout.

Merci par avance de votre aide et comprehension.

J'utilise les méthodes suivantes:

function writediv(texte)
{
document.getElementById('zonetraitement').innerHTML = texte;
}


function updateTable(valeur,identifiant)
{
writediv('Les valeurs passes sont : ' + valeur + ' et ' + identifiant);
texte=file('requete.php?valeur='+escape(valeur)+';identifiant='+escape(identifiant));
//texte=file('requete.php?valeur='+escape(valeur));
//texte=file('requete.php?toto='+escape(identifiant));
///writediv(texte)
}

function file(fichier)
{
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
vous avez remarqué que le message date de plus de 2 ans ?

quand à votre souci, mon foie :
on ne sait ni ce que vous transmettez ( que
contient donc "fichier", là où devraient
être les paramètres puisque "get" ) ni comment
vous le traitez coté php !

remarque : votre manière de traiter le
retour d'ajax, n'est probablement pas correcte
...
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
on va donc toujours retourner false
puisque vous êtes en asynchrone
et il faut donner une fonction où l'on
traite le readystate avant le send

xhr.onreadystatechange = function()
{ if(xhr.readyState == 4)
{ on peut traiter xhr.resposText
}
}
xhr.open
xhr.send
et attention, car ici, on rend la main
derrière l'appel de la function file