Plusieurs traitements pour la même fonction

Résolu
blog-machine Messages postés 114 Date d'inscription samedi 27 juillet 2013 Statut Membre Dernière intervention 7 mai 2014 - 25 févr. 2014 à 22:32
blog-machine Messages postés 114 Date d'inscription samedi 27 juillet 2013 Statut Membre Dernière intervention 7 mai 2014 - 26 févr. 2014 à 00:24
Bonsoir,

Avec une requête ajax en post ou de get comment faire pour exécuter plusieurs tâches sans avoir à réécrire le code de façon redondante

par exemple : ce code ne fonctionne pas

function creerInstance(){
if(window.XMLHttpRequest){
/* Firefox, Opera, Google Chrome */
return new XMLHttpRequest();
}else if(window.ActiveXObject){
/* Internet Explorer */
var names = [
"Msxml2.XMLHTTP.6.0",
"Msxml2.XMLHTTP.3.0",
"Msxml2.XMLHTTP",
"Microsoft.XMLHTTP"
];
for(var i in names){
/* On teste les différentes versions */
try{ return new ActiveXObject(names[i]); }
catch(e){}
}
alert("Non supporte");
return null; // non supporté
}
};

function envoyerDonnees(){
var req = creerInstance();
/* On récupère la variable ici */

var ZoneCouleur1 = document.getElementById('titre').style.color;
var Mavaleur1 = ZoneCouleur1;
var ZoneCouleur2 = document.getElementById('fonction').style.color;
var Mavaleur2 = ZoneCouleur2;
var ZoneCouleur3 = document.getElementById('adresse').style.color;
var Mavaleur3 = ZoneCouleur3;

req.onreadystatechange = function(){
/* Si l'état = terminé */
if(req.readyState == 4){
/* Si le statut = OK */
if(req.status == 200){
/* On affiche la réponse */
alert(req.responseText);
}else{
alert("Error: returned status code " + req.status + " " + req.statusText);
}
}
}

req.open("GET", "serveur.php?Mavaleur1="+ZoneCouleur1, true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(null);

req.open("GET", "serveur.php?Mavaleur2="+ZoneCouleur2, true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(null);

req.open("GET", "serveur.php?Mavaleur3="+ZoneCouleur3, true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(null);
}


alors comment faire pour avoir plusieurs traitements sur la même fonction dans la page ?

arg, là ça coince...

4 réponses

blog-machine Messages postés 114 Date d'inscription samedi 27 juillet 2013 Statut Membre Dernière intervention 7 mai 2014
25 févr. 2014 à 22:57
dois-je utiliser un système de tableau ? array
0
jordane45 Messages postés 38158 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2024 344
25 févr. 2014 à 23:44
Bonsoir,

Premier point (qui n'a rien à voir avec ta question à proprement parlé) :
Pourquoi tu affectes une variable à une variable que tu réaffectes à une autre variable ???
  var ZoneCouleur1 = document.getElementById('titre').style.color;
   var Mavaleur1 = ZoneCouleur1;


Alors que tu peux directement faire :
  var Mavaleur1 = document.getElementById('titre').style.color;


Pour ce qui est de ta question :
(as-tu au moins pris le temps de chercher sur le net avant de demander... j'en doute un peu vu le nombre de résultats disponibles sur le net pour cette question...)

Mais bon.. je dois être trop gentil :
Dis toi qu'en AJAX ( XMLHttpRequest ) tu peux, tout comme en PHP.. utiliser deux méthodes d'envoi de données :
- La méthode POST
- La méthode GET

La méthode GET (celle que tu as choisi d'utiliser) s'appuie sur l' URL. C'est à dire que les données que tu envoies se trouvent incluses DANS l'url.

Pour pouvoir envoyer plusieurs variables à ta page PHP via cette méthode il te faut donc mettre tes différentes variables dedans.

 req.open("GET", "serveur.php?Mavaleur1="+Mavaleur1 + "&Mavaleur2="+Mavaleur2 + "&MavaleurN="+MavaleurN  , true);



0
blog-machine Messages postés 114 Date d'inscription samedi 27 juillet 2013 Statut Membre Dernière intervention 7 mai 2014
25 févr. 2014 à 23:53
bonsoir,

C'est vrai, je n'ai pas pris le temps de chercher sur le net avant de poser la question. C'est ce que je vais faire à l'instant. En fait, j'ai pensé (à tort) que c'était très spécifique comme problème, et je n'ai pas su le prendre par le bon bout. Coupable donc, je vais essayer de soigner ça et j'ai de toute façon un début de réponse donc je dois trouver. J'arrive et je clos la question dés que j'ai la réponse avec ma recherche
0
blog-machine Messages postés 114 Date d'inscription samedi 27 juillet 2013 Statut Membre Dernière intervention 7 mai 2014
26 févr. 2014 à 00:24
Ca y est j'ai trouvé avec tes explications et il n'y avait pas vraiment la réponse vraiment sur le net. Donc ça valait vraiment le coup de poser la question même si le dérangement est toujours agaçant j'en conviens. Ce qui te sembles évident ne l'est pas forcement pour moi , alors clémence

bonne nuit
0
Rejoignez-nous