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