nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 201436 11 juil. 2008 à 21:34
Salut, c'est normal, sous IE c'est un activeX et il ne s'appelle pas comme ça ...
Regarde ça :
var xhr_object = null;
if(window.XMLHttpRequest) FF
xhr_object = new XMLHttpRequest();
else if(window.ActiveXobject)
xhr_object = new ActiveXobject("Microsoft.XMLHTTP"); //IE
else{
alert("Votre navigateur n'est pas compatible avec XMLHttpRequest");
return;
}
Rajoute ces ligne en changeant le nom de la variable et tu verra ça marchera !
a++
Si la réponse vous convient, pensez : Réponse acceptée !
rhan_659
Messages postés85Date d'inscriptionlundi 1 novembre 2004StatutMembreDernière intervention30 juin 2011 12 juil. 2008 à 01:29
merci mais ça ne change rien, et le code est fonctionnelle avec ie6...
voici le code complet
if(window.XMLHttpRequest){
// Firefox et autres
XHRequest = new XMLHttpRequest();
if (XHRequest.overrideMimeType){XHRequest.overrideMimeType('text/xml')}
}else if(window.ActiveXObject){
// Internet Explorer
try { XHRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e) {XHRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
}else{
//non supporté par le navigateur
alert("Ajax Error :\n XMLHttpRequest non supporté par le navigateur");
return "";
}
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 juil. 2008 à 05:27
Bonjour,
pour le xml, avec IE, il faudrait utiliser :
xmlD = new ActiveXObject('Microsoft.XMLDOM');
xmlD.async=true;
xmlD.onreadystatechange = function ()
{ if ( xmlD.readyState == 4 )
{ ici on traite xmlD.xml }
}
attention : new XMLHttpRequest(); répond true pour IE7,
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 juil. 2008 à 06:30
j'ai oublié le xmlD.load(fichier);
et de dire qu'avec FF, normalement :
xmlD = document.implementation.createDocument('','', null);
xmlD.onload = function()
{ traitement de xmlD.documentElement.textContent);
}
xmlD.load(fichier);
ajax c'est pour communiquer avec le langage serveur, pas pour récupérer du xml
( même si ça baigne avec FF, avec IE je ne pense pas... peut-être me trompe-je )
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 juil. 2008 à 06:44
ah ben zut, je n'avais pas vu ce que tu fais voir !!
<html>
<head>
</head>
azertyuiop:[AAA]:[BBB]:[CCC]
</html>
n'est pas un flux xml ! c'est du html !
curieux de vouloir traiter cela comme du xml ?
tu peux mettre la réponse dans un div ( caché )
et y utiliser les getElementsByTagName....
pas sûr que le traitement du xml que je proposais
fonctionne dans ce cas. à tester ?
rhan_659
Messages postés85Date d'inscriptionlundi 1 novembre 2004StatutMembreDernière intervention30 juin 2011 12 juil. 2008 à 11:36
re,
je pensais qu'en utilisant XHRequest.responseXML au lieux de XHRequest.responseTest j'obtiendrais un flux xml au lieux d'un text meme si coté format c'est pas extra-ordinaire
ce flux est bien générer par le serveur, le probleme c'est pour en extraire l'information simplement.
rhan_659
Messages postés85Date d'inscriptionlundi 1 novembre 2004StatutMembreDernière intervention30 juin 2011 12 juil. 2008 à 12:28
Merci pour l'idée du PHP mais je suis sous Lotus Notes, j'aurais bien aimé ne renvoyer que les valeurs désirez mais mon serveur domino me les encadrent automatiquement avec les balises html.
donc j'ai fait autrement, dans mon agent qui génére mon string je les encadré de balise bidon <Data></Data>
et ensuite je ne le gere plus comme du xml mais comme du texte et j'extrait les voulue via un indexof
rhan_659
Messages postés85Date d'inscriptionlundi 1 novembre 2004StatutMembreDernière intervention30 juin 2011 12 juil. 2008 à 12:42
Pour Info Lotus Notes / Domino est un systeme client/server professionnelle d'IBM
il permet de faire de la messagerie, groupeware, intranet, serveur d'appli (lotus), server web. voila pourquoi je veux travailler en JS sans utiliser de PHP.
il est normale que tu ne connaisse pas Lotus Notes c'est un produit inconnus du grand public et que l'on ne trouve que dans le grosse société
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 juil. 2008 à 12:45
ou tu colles la réponse dans innerHTML d'un div, et tu utilises :
document.getElementById('id du div dont on cause').getElementsByTagName('Data')[0].firstChild.nodeValue
je ne dis pas que c'est une meilleure méthode ;o)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 juil. 2008 à 13:49
@nico : >>..serveurs IBM n'acceptaient pas le php
c'est pas tout à fait ça nico.
le serveur qu'utilise le monsieur n'autorise (peut-être) pas, dans les "conditions" où il utilise...
<hr /> Cordialement Bul [mon Site] [M'écrire]
rhan_659
Messages postés85Date d'inscriptionlundi 1 novembre 2004StatutMembreDernière intervention30 juin 2011 12 juil. 2008 à 15:45
merci
mon but n'est pas d'afficher dans une div, mais de récupéré de l'information serveur que le js ne peut produire naturellement en évitant qu'il soit calculé sur le client pour des raisons de sécurité.
sinon les serveur materiel d'ibm sont comme tout les autres serveur, ici je parle de serveur logiciel. utiliser le PHP doit etre faisable dans une certaine limite, mais ça na pas tellement d'interret vu que j'ai mes propres méthode d'acces aux données
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 juil. 2008 à 15:51
je parlais de mettre la réponse dans un div, pas pour l'afficher !!!
( suffit de mettre style="display:none" )
mais pour utiliser .getElementsByTagName('Data')[0].firstChild.nodeValue
tout dépend des réponses possibles, ça peut devenir très vite difficile avec substr et indexof...
<hr /> Cordialement Bul [mon Site] [M'écrire]
rhan_659
Messages postés85Date d'inscriptionlundi 1 novembre 2004StatutMembreDernière intervention30 juin 2011 12 juil. 2008 à 17:28
Merci pour l'idée
mais le but étant de ne pas stocker l'information dans un élément mais juste une variable le temps d'un traitement.
je peut me permettre de faire ça car la valeur retourné sera vraimment comme ça :
azertyuiop:[AAA]:[BBB]:[CCC]
parfois
azertyuiop
mais rarement
azertyuiop:[AAA]:[BBB]:[CCC]:[DDD]:[EEE]:[FFF]
donc pour mon besoin ça convient, parceque la chaine ne sera pas tres long. j'aurai préféré pouvoir la parsé comme un flux xml (ça passe sous ff et ie6 ) mais ie7 le refuse donc je change mon fusil d'épaule