malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
16 juin 2005 à 13:10
cs_YASSINE1982
Messages postés6Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention16 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.
cs_YASSINE1982
Messages postés6Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention16 mars 2007 14 mars 2007 à 13:27
ok
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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és6Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention16 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és10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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és12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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és10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 16 juin 2005 à 13:19
Bon c'est mieux...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 16 juin 2005 à 13:10
Argh, mais qu'est-ce qu'il a avec mes indentations ce site...?
14 mars 2007 à 13:27
13 mars 2007 à 11:47
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 :-)
12 mars 2007 à 22:07
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 !
16 juin 2005 à 15:26
16 juin 2005 à 14:50
16 juin 2005 à 13:19
16 juin 2005 à 13:10