Bonjour,
voila j'ai vu que le sujet a pas mal �t� trait� sur le web, mais ttes les solutions apport�es ne m'eclairent absolument pas donc je me permets de reposer la question pour avoir une reponse personnalis�e...
Voila j'ai le code suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| function AfficherPays( Culture, Enseigne ) {
document.getElementById('departement').style.visibility= 'hidden';
document.getElementById('btnValider').style.visibility= 'hidden';
document.getElementById('SelectDep').style.visibility= 'hidden';
var xhr_object = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
xhr_object = new XMLHttpRequest();
if (xhr_object.overrideMimeType) {
xhr_object.overrideMimeType('text/xml');
// Voir la note ci-dessous à propos de cette ligne
}
}
else if (window.ActiveXObject) { // IE
try {
xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!xhr_object) {
alert('Abandon :( Impossible de créer une instance XMLHTTP');
return false;
}
//xhr_object.open("POST", "test.asp", true);
xhr_object.open("POST", "http://(..)/Site/test/testPays.asp", true)
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4 ){
if (xhr_object.status == 200 ){
//alert(xhr_object.responseText);
//eval(xhr_object.responseText);
//eval(xhr_object.responseXML);
//alert(xhr_object.responseXML.getElementsByTagName("IDLANGUE")[0].nodeValue);
//reponse = clean(xhr_object.responseXML.documentElement);
//var reponse = xhr_object.responseXML;
//document.getElementById('text').value = xhr_object.responseXML.getElementsByTagName("IDLANGUE").item(0).firstChild.nodeValue;
//var xmldoc = xhr_object.responseXML;
//var root_node = xmldoc.getElementsByTagName('IDLANGUE').item(0);
//alert(root_node.firstChild.value);
var nb = xhr_object.responseXML.getElementsByTagName("PAYS").length;
document.getElementById('SelectPays').options[0] = new Option("","");
for (cpt=0;cpt<nb;cpt++){
document.getElementById('SelectPays').options[cpt+1] = new Option(xhr_object.responseXML.getElementsByTagName("LIBELLE").item(cpt).firstChild.nodeValue, xhr_object.responseXML.getElementsByTagName("IDPAYS").item(cpt).firstChild.nodeValue);
}
}
}
}
xhr_object.setRequestHeader("Content-Type" , "application/x-www-form-urlencoded; charset=iso-8859-15" );
var data = "Culture=" + Culture + "&Enseigne=" + Enseigne;
xhr_object.send(data);
} |
ce code marche parfaitement sous IE mais pas sous FireFox, avec comme vous vous en doutez l'erreur :
Erreur : uncaught exception: Permission refusée d'appeler la méthode XMLHttpRequest.open
Alors j'ai vu sur des forums comme quoi il fallait etre sur le meme serveur et des open avec des url du type http://...ne fonctionnerait pas, mais cela fonctionne sous IE!!!
Donc sioupl�, merci vraiument de me renseigner
car mon but est bien d'envoyer des info sur un serveur distant et de recuperer un xml....
Partager