Plusieurs traitements pour la même fonction [Résolu]

Signaler
Messages postés
114
Date d'inscription
samedi 27 juillet 2013
Statut
Membre
Dernière intervention
7 mai 2014
-
Messages postés
114
Date d'inscription
samedi 27 juillet 2013
Statut
Membre
Dernière intervention
7 mai 2014
-
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

Messages postés
114
Date d'inscription
samedi 27 juillet 2013
Statut
Membre
Dernière intervention
7 mai 2014

dois-je utiliser un système de tableau ? array
Messages postés
32948
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 juin 2021
351
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);



Messages postés
114
Date d'inscription
samedi 27 juillet 2013
Statut
Membre
Dernière intervention
7 mai 2014

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
Messages postés
114
Date d'inscription
samedi 27 juillet 2013
Statut
Membre
Dernière intervention
7 mai 2014

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