Envoyé par : ygalr22
Date : 02/06/2006 14:49
Bonjour à tous, voila je suis entrain de développer un petit logiciel de gestion en XUL et PHP mais le probleme c'est que je n'arrive pas à envoyer des informations d'un script JavaScript vers une page PHP qui devrais s'afficher avec la donée envoyée, bon OK c'est pas claire alor voici mon code :
Page .xul :
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet href="../style.css" type="text/css"?> <window title="Gest-Carbu" orient="horizontal" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml"> <script type="application/x-javascript" src="../Script/js/Vehicules.js"/> <vbox align="center"> <hbox align="center" flex="1"> <groupbox orient="horizontal"> <caption label="Entrez un numéro de Véhicule :"/> <textbox id="num_vehi" maxlength="4" size="10"/> <button id="ok" label="OK" oncommand="Verif();"/> <button id="Annuler" label="Annuler" type="cancel" oncommand="Annuler();"/> </groupbox> </hbox> </vbox> </window>
Script JS :
reg= new RegExp('[0-9]{4}'); function Verif(){ ChaineTest = document.getElementById('num_vehi').value; rep=reg.test(ChaineTest); URL="http://localhost/gestcarbu/Script/php/test.php"; if (rep==false){ alert("La valeur entrée : '"+ChaineTest+"' n'est pas un numéro de véhicule correct, le numéro doit contenir 4 chiffres."); document.getElementById('num_vehi').value=""; }else{ alert("::. Connexion .::"); Envoi(ChaineTest, URL); } } function Annuler(){ document.getElementById('num_vehi').value=""; } function Envoi(data, filename){ var method = "POST"; obj = new XMLHttpRequest(); obj.onload = null; __obj.open(method, filename, true); c'est ici que ça foire!__ obj.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); obj.send(data); window.open(filename,"Bureau"); }
et enfin la page php que je veux afficher :
<?php header('Content-type: text/html; charset=iso-8859-1'); $_NumVehi=$_POST ["data"]; echo"<center>test"; echo"<hr>"; if (isset($_POST["data"])!=""){ echo $_NumVehi; }else{ echo "NumVehi = rien!!"; } echo"</center>"; ?>
voila j'ai deux problemes le premier est dans la page JavaScript
>>> la console JavaScript m'affiche : "Erreur : uncaught exception: Permission refusée d'appeler la méthode XMLHttpRequest.open"
ensuite le script php ne récupere pas la donnée envoyée par le script JS (lorsque celui ci marche).
aidez mwa svp je commence à me taper la tete contre mon UC et le probleme c'est que c'est du materiel neuf...
Envoyé par : thefab
Date : 02/06/2006 15:07
Tu appelles ta page XUL depuis où ?
Si tu n'es pas dans le chrome XMLHttpRequest ne peut envoyer des requêtes que dans le même domaine. Donc si tu appelles ta page XUL depuis www.ici.com tu ne peux pas poster vers www.ailleurs.com.
Si quelqu'un peut confirmer.
Envoyé par : ygalr22
Date : 02/06/2006 15:59
Ma page xul est sur un serveur donc je donne son url pour la lancer mais je ne sais pas si c'est exactement comme ca que c'a marche je connais pas du tout xul je vien de m'y mettre en tous cas merci de t'interesser à mon PB.
O fait je vien de regler le probleme du Script JavaScript mais je n'arrive toujours pas a recupperer les données envoyées du script sur ma page PHP :-(
Mai bon J'VAI Y ARRIVER !!!!
Envoyé par : thefab
Date : 02/06/2006 16:25
Ta page doit se trouver à http://localhost/gestcarbu/Script/php/page.xul (ou http://localhost/page.xul sauf erreur) mais pas à www.xyz.com/page.xul
Sinon tu mélanges l'envoi et l'affichage des données, dans ta fonction Envoi() la ligne window.open(filename,"Bureau"); a pour effet de rappeler la page (en GET cette fois) elle est donc inutile. Si tu veux récupérer les valeurs tu lis simplement obj.responseText ou obj.responseXML (si il s'agit d'XML bien sur ;-)
Fabrice
Envoyé par : Christophe Charron
Date : 03/06/2006 08:34
Quel est le symptome ? Je suis, a priori, dans le même type de configuration que vous et des fonction de type :
function fa_xmlhttprequest_txt(url,request,callback,target) { var http = new XMLHttpRequest(); if(!request){mode="GET";} else {mode="POST";} http.open(mode,url,true); if(mode=="POST"){http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');} http.onreadystatechange=function(){if(http.readyState==4){callback(http.responseText,target);}}; http.send(request); }
ou
function fa_xmlhttprequest_xml(url,request,callback,target) { var http = new XMLHttpRequest(); if(!request){mode="GET";} else {mode="POST";} http.open(mode,url,true); if(mode=="POST"){http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');} http.onreadystatechange=function(){if(http.readyState==4){callback(http.responseXML,target);}}; http.send(request); }
fonctionnent bien, s'il y a quelque chose à récupérer.
Envoyé par : ygalr22
Date : 06/06/2006 10:56
merci de ta réponse mais je ne veut pas seulement récuperrer les valeurs mais ensuite verifier si elles existent dans la base de donnée...
Envoyé par : thefab
Date : 06/06/2006 11:19
ensuite verifier si elles existent dans la base de donnée
C'est le boulot de PHP ça, ensuite tu écris un message, toujours en PHP, pour dire si OK ou pas. Et tu peux lire le message OK ou pas avec responseText ou responseXML.
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.