EXEMPLE DE TAGBOARD AVEC XMLHTTP REQUEST

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 16 juin 2005 à 13:10
cs_YASSINE1982 Messages postés 6 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 16 mars 2007 - 14 mars 2007 à 13:27
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/32108-exemple-de-tagboard-avec-xmlhttp-request

cs_YASSINE1982 Messages postés 6 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 16 mars 2007
14 mars 2007 à 13:27
ok
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 mars 2007 à 11:47
Hello,

poste ton bin's sur le forum plutôt.
Là je n'ai pas le temps de regarder en détail, mais d'autre le pourront peut-être :-)
cs_YASSINE1982 Messages postés 6 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 16 mars 2007
12 mars 2007 à 22:07
Merci malalam pour ce joli exemple

J'ai essayé de modifier un tout petit peu ta fonction en fixant la variable page en une constante ?functions.php? j'a déterminer la méthode comme POST, mais j'ai ajouter un paramètre ?MyFunction?. Le but de ca c'est de pouvoir faire appel à une fonction PHP bien déterminée, en déterminant la place où on veut afficher ses résultats.
Finalement avec ça notre site va se composer de 3 fichiers : index.html ; functions.php (qui contient tous les fonctions PHP) ; un fichier script.js qui contient le actions script entre outre Ta fonction SendData.
Ça marché très bien, mais par la suite j'ai essayé de voir plus loin, c'est de développer une Fonction SendMultiData dont le nombre de paramètres est indéterminé qui permet d'envoyer de 1 à plusieurs requêtes au même temps et de recevoir les résultats et de les placer successivement dans des différents places : SendMultiData(param1,Place1,Function1, param2,Place2,Function2?)
Ce que j'ai fait c'est exécuter SendData Plusieurs fois avec des paramètres différents.
<script type="text/javascript">
/**
* Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
*/
function sendData(param,place,myfunction)
{
myparam= param+'&myfunction='+myfunction;
page = 'function.php';
if(document.all)
{
//Internet Explorer
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
}//fin if
else
{
//Mozilla
var XhrObj = new XMLHttpRequest();
}//fin else

//définition de l'endroit d'affichage:
var content = document.getElementById(place);

XhrObj.open("POST", page);

//Ok pour la page cible
XhrObj.onreadystatechange = function()
{
if (XhrObj.readyState 4 && XhrObj.status 200)
content.innerHTML = XhrObj.responseText ;
}

XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(myparam);
param=null;
}//fin fonction SendData

function sendMultiData()
{

for (var i=0; i < sendMultiData.arguments.length; i=i+3)
{
para = sendMultiData.arguments[i] ;
placy = sendMultiData.arguments[i+1] ;
fction = sendMultiData.arguments[i+2] ;
sendData(para,placy,fction);
}
}

</script>
Le problème que ça par marché parce que, tout simplement, JavaScript continue l'exécution sans attendre la réponse du serveur qui sera traitée quand elle arrivera, d'où le nom ?Asychronous?
Quelqu'un peut trouver une solution ?
A mon avis la boucle il faut que ca soit coté serveur comme ca le fichier php s'execute une seule fois, il faut peut être envoyer un tableau de données au serveur (param1,Place1,Function1, param2,Place2,Function2?)

Si vous pouvez m?aider !
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
16 juin 2005 à 15:26
Ouais, je suis d'accord, meme si bon, dans une fonction comme ici, ce n'est pas vraiment plus genant. Sauf si on doit utiliser l'objet pour plusieurs utilisations differentes, evidemment.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
16 juin 2005 à 14:50
ce qui serait interessant, c'est de faire un objet js, pour qu'ensuite, on n'ai pas à vérifier ces **** de spécificitées de MSIE...
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
16 juin 2005 à 13:19
Bon c'est mieux...
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
16 juin 2005 à 13:10
Argh, mais qu'est-ce qu'il a avec mes indentations ce site...?
Rejoignez-nous