begin process at 2012 05 29 01:47:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Ajax

 > 

Ajax et IE7


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ajax et IE7

lundi 2 juillet 2007 à 16:00:45 | Ajax et IE7

arnaultp

Bonjour à tous!
Je viens de me mettre à l'AJAX, et en reprenant un tutorial j'ai une erreur (voire 2 d'ailleurs) qui apparaît et que je n'arrive pas à corriger.
Tout d'abord voici le script :

function ajax()
{
    var xhr = null;
   
    if (window.XMLHttpRequest)
    {
        alert("j'ai Firefox"); // message normalement non destiné à IE
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        alert("j'ai IE");
        try
        {
            xhr = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    else
    { // XMLHttpRequest non supporté par le navigateur
        alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
        xhr = false;
    }
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() { alert_ajax(xhr); }
   
    //on appelle le fichier reponse.txt
    xhr.open("GET", "news.xml", true); // erreur ici-même
    xhr.send(null);
}

function alert_ajax(xhr)
{
    var docXML = xhr.responseXML;
    var items = docXML.getElementsByTagName("nom");
    //on fait juste une boucle sur chaque élément "donnee" trouvé
    for (i=0;i<items.length;i++)
    {
        alert (items.item(i).firstChild.data);
    }
}

Précision : ce script est appelé lorsque l'on clique sur un bouton. Aussi il est bien appelé puisque je vois l'erreur à chaque clic...

L'erreur qui survient, est donnée lorsque l'on ouvre le fichier xml. Pourtant, tout est correcte, ce fichier xml appartient bien au même dossier que mon fichier html, il est bien nommé news.xml et il n'est pas vide.

Ensuite le "2e erreur" c'est en tout début de script. Lorsque que je fais le test pour les différents navigateurs, il s'avère que mon IE7 m'affiche le message : "J'ai Firefox". C'est tout de même assez comique, à moins qu'un changement ait été effectué depuis IE6?

Merci d'avance pour vos réponses.
lundi 2 juillet 2007 à 16:14:43 | Re : Ajax et IE7

bultez

Membre Club
Réponse acceptée !




Bonjour,

>>puisque je vois l'erreur à chaque clic...
    laquelle ?
    mais ne serait-ce pas le non respect du format xml  dans le fichier ?
    au fait... ce fichier ce ne devrait pas être du style  http://... ?

quand à la détection de ce qu'il faut utiliser, j'utilise :

//~~~~~~~~~~~~~~~~~~~~~~
function xmlhttp()    //~~ XMLHTTP ~~
//~~~~~~~~~~~~~~~~~~~~~~
{  var x;
    try               {    x = new ActiveXObject("Microsoft.XMLHTTP");    }
    catch (e)     {    try           {    x = new ActiveXObject("Msxml2.XMLHTTP");    }
                             catch (e)  {    try            {    x = new XMLHttpRequest();    }
                                                    catch (e)  {    x=false;    }
                                               }
                        }
    return x;
}
 
mais ... aucun changement entre IE6 et IE7 à ce niveau.


Cordialement                    Bul     [mon Site]     [M'écrire]


lundi 2 juillet 2007 à 16:52:47 | Re : Ajax et IE7

arnaultp

Merci pour ta réponse.
Tout d'abord, en essayant ton code, j'obtient quelque chose de bizarre. Tes try...catch se font dans un sens différent que mes essais à moi. Et pourtant IE rentre toujours dans le premier test, quoi qu'il arrive... Du coup, dans l'ordre que tu proposes, cela convient très bien à IE, mais il ne m'affiche toujours rien.
Voici mon fichier xml :

<?xml version="1.0"?>
<exemple>
    <news>
        <id> 1 </id>
        <nom> Pierrick </nom>
        <titre> Coucou! </titre>
        <date> 02/07/2007 </date>
        <message> toto1 </message>
    </news>
    <news>
        <id> 2 </id>
        <nom> Alain </nom>
        <titre> Voyons... </titre>
        <date> 02/07/2007 </date>
        <message> toto2 </message>
    </news>
</exemple>

Personnellement, je n'ai fait que reprendre un tuto, et il n'a jamais été dit que l'url devait être sous "http://". Et puis ça marche très bien sous Firefox (oui oui ce n'est pas une raison... bon).

lundi 2 juillet 2007 à 22:51:45 | Re : Ajax et IE7

nhervagault

Administrateur CodeS-SourceS
Salut Pour info IE7 implemente httprequest d'ou tes problemes dans ton post. http://blogs.msdn.com/ie/archive/2006/01/23/516393.aspx Sinon dans certain cas il faut passer en mode synchrone sur IE7, mettre le parametre a false ou tu as ton erreur. J'ai eu cette erreur dans un programme, mais j'ai jamais trouvé la raison, pour ie6 et firefox c'est ok en async et ie 7 c'est ko en async. Bon courage
mardi 3 juillet 2007 à 08:11:12 | Re : Ajax et IE7

bultez

Membre Club
>>dans certain cas il faut passer en mode synchrone sur IE7
    c'est bon à savoir.

Cordialement                Bul     [mon Site]     [M'écrire]



mardi 3 juillet 2007 à 09:42:43 | Re : Ajax et IE7

arnaultp

Merci pour vos réponses. Cependant, il doit y avoir un soucis, puisque IE7 implémente en effet httprequest, mais aussi ActiveXObject... ceci est-il normal ou non? Bon en tous cas, moi ça me va très bien. Le seul soucis c'est vraiment l'erreur lorsque j'ouvre mon fichier xml. Le fait de mettre false, ne change rien. Je vais essayer de mettre l'adresse sous la forme "http://", c'est ma dernière issue :/

Merci encore ;)
mardi 3 juillet 2007 à 09:54:40 | Re : Ajax et IE7

arnaultp

Bon, alors j'ai mis le fichier xml sur mon ftp, et tu avais finalement raison bultez. L'url doit bien être sous la forme "http://". Cependant, cela ne marche que sous IE. Firefox n'affiche plus rien.
J'ai alors tout mis sur mon ftp, dans un même répertoire. Et cette fois-ci tout fonctionne parfaitement sous les 2 navigateurs....enfin! ouf!

Je plainds les développeurs multi-plateforme......................
Merci pour votre aide.
mardi 3 juillet 2007 à 09:57:00 | Re : Ajax et IE7

bultez

Membre Club








pour utiliser un .xml, j'ai utilisé une autre méthode :

http://www.javascriptfr.com/codes/CONTROLE-CHAMPS-FORMULAIRE-CCF_43101.aspx et
http://www.javascriptfr.com/codes/LISTE-SOFTS-UTILISES_41421.aspx    et
par exemple : peut-être ?

et http://www.javascriptfr.com/codes/EBAUCHE-LECTEUR-RSS_36794.aspx
        qui lui ne fonctionne pas avec FireFox !


Cordialement                Bul     [mon Site]     [M'écrire]



mardi 3 juillet 2007 à 09:59:12 | Re : Ajax et IE7

bultez

Membre Club
>>L'url doit bien être sous la forme "http://".
    je n'osais l'affirmer. mais curieux que ça semble ne pas fonctionner  sans...


Cordialement                Bul     [mon Site]     [M'écrire]





Cette discussion est classée dans : erreur, alert, ajax, xhr, xmlhttprequest


Répondre à ce message

Sujets en rapport avec ce message

Rechargement d'objet "AJAX" [ par benjiman2 ] Bonjour !Voila, je commence tout juste a programmer en AJAX ...et voila mon probleme ...Je voudrai que chaque 2 secondes, la page se rafraichisse dans IE7 non reconnu ? [ par caviar ] Salué ...j'ai ce code qui fonctionne parfaitement avec FF mais impossible sous IE7 (pas testé sur d'autres versions)            var xhr = null;        Fonction AJAX qui ne se déclenche pas [ par Shivan0910 ] Bonjour, Je sollicite de votre bienveillance dans la résolution de ce problème qui tend à m'épuiser J'ai deux fonctions function creationXHR() { var PHP passager une variable a une fonction ajax [ par ovatesfred ] Bonjour, je cherche à passer une varible de PHP vers une fonction javascrip (ajax). Cette fonction recharge une balise DIV, mon probleme est que la va Ajax, url et iframes imbriquées. [ par Ahaezod ] Bonjour J'ai sur ma page une iframe dans laquelle se trouve une seconde iframe. Il faut que lorsque ma deuxième iframe soit chargée, un script Ajax s XMLHttpRequest pas de retour php [ par vol68 ] Hello et merci d'avance j'ai trouvé pratiquement ce que je cherchai avec le script ci dessous en le modifiant un peu, mais..... 1er probleme en ce qu XMLHttpRequest sur serveur distant [ par azertyyy7575 ] Bonjour, J'ai un petit en ce moment avec un code Javascript/java J'utilise XMLHttpRequest pour récupérer les informations dont j'ai besoin. Le soucis objet XMLHttpRequest qui bloque le navigateur [ par webototo ] boujour à tous, sur un de mes sites j'ai une page en php qui envoi un mailing aux abonnés, script qui fonctionne parfaitement. voulant déclancher cett Temps d'exécution [ par Bobshit75 ] Bonjour à tous, Voilà, j'ai essayé de faire de l'Ajax sans JQuery (je regrette mais bon ^^). Le problème que je rencontre c'est un problème au niveau De l'ajax, mais intelligent comme celui de facebook [ par ndcreatif ] Bonjour j'utilisais un code ajax comme celui ci à peu pres pour mettre tout en live comme ceci function check_message(arg) { // var xhr_objec


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,310 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales