Envoyé par : arawak
Date : 25/04/2006 10:26
salut a tous,
j'ai un probleme avec un appel a XmlHttpRequest() dans une page php
j'ai raté un truc ?
a+
Vincent
Envoyé par : laurentj
Date : 25/04/2006 10:59
qu'appelles-tu "charger ma page en chrome" ? à priori, si c'est une page php, c'est qu'elle est distante. Je ne vois pas comment tu pourrais la declarer dans le chrome..
Envoyé par : arawak
Date : 25/04/2006 11:22
j'utilise une autre page avant qui fait un :
window.open('http://192.168.69.20/tree/tab.php','intro','chrome');
dans le fichier tab.php:
<window id="example-window" title="GESTION DE PARC (DEV)" onload="init();" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> ... <script src="script.js" /> ... <tree id="tree" flex="1" datasources="tree.php" ref="urn:societes" ondblclick="poste('edit');"> ...
dans script.js :
function poste(etat) { var idposte = tree.view.getCellText( tree.currentIndex ,tree.columns.getNamedColumn("id_poste") ); var poste_url = "http://localhost/tree/poste.php?id_poste=" + idposte; if ( etat = "edit") { p = new XMLHttpRequest(); p.onload = null; p.open("GET",poste_url,false); p.send(null); if ( p.status != "200" ) { alert("Reception erreur" + p.status); } else { var poste = p.responseXML.documentElement; document.getElementById("poste_id").value = poste.getElementsByTagName('ID')[0].getAttribute('valeur'); document.getElementById("poste_lib").value = poste.getElementsByTagName('LIB')[0].getAttribute('valeur'); } } liste.setAttribute('datasources', liste_rdf + "?id_poste="+ idposte); }
dans cette configuration la, ca ne fonctionne pas
par contre, si je saisis directement dans le navigateur l'url :
http://localhost/tree/tab.php
la, ca fonctionne
Envoyé par : laurentj
Date : 25/04/2006 12:24
Cela n'a je pense rien à voir avec le fait que tu ouvres avec l'attribut chrome ou pas.
Mais simplement un problème de restriction : ce n'est pas le même domaine. Dans ton cas qui marche pas, tu tente d'ouvrir un fichier situé sur http://localhost alors que tu te trouve sur une page situé sur http://192.168.69.20.. Et ça, il me semble que ce n'est pas autorisé.
La console javascript, elle dit quoi ? (en ayant activé toutes les prefs pour le deboggage comme indiqué sur le wiki)
Envoyé par : arawak
Date : 25/04/2006 12:28
pour le probleme d'IP, je sui sur ma station de dev donc localhost ou 192.168.69.20 c'est la meme chose, a moins que ca aie une importance en termes de formalisation
pour le debug javascript, je met ca en place en debut d'aprem
a+
Vincent
Envoyé par : laurentj
Date : 25/04/2006 13:06
localhost ou 192.168.69.20 c'est la meme chose
non. ce n'est pas le même nom de domaine (avant résolution du nom). Et c'est sur le nom du domaine que gecko se base. (car tu peux avoir plusieurs noms de domaines, plusieurs sites avec la même ip).
Et de toute façon, même aprés résolution, ce n'est pas la même chose : localhost, c'est 127.0.0.1, pas ton ip publique.
Envoyé par : arawak
Date : 25/04/2006 14:23
en fait, c'etait bien ca !!!
j'ai modifié mon appel initial :
window.open('http://192.168.69.20/tree/tab.php','intro','chrome');
en :
window.open('http://localhost/tree/tab.php','intro','chrome');
et d'un coup, ca marche tout bien !!!
merci encore
a+
Vincent
Envoyé par : laurentj
Date : 25/04/2006 14:51
je te conseille de stocker tes urls, ou au moins la partie domaine, dans une constante JS quelques part, histoire de pas avoir à modifier tout ton code source quand tu migreras sur une autre machine.
Envoyé par : arawak
Date : 25/04/2006 15:02
pas bete ca !!!! :)
merci
a+
Vincent
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.