Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/02/2007, à 20:06

Bzh

Javascript => ajax => problème avec internet explorer !

Bonjour,

Lorsque "conteneur" est vide, normalement la fonction AjaxInfos() est appelée avec comme paramètre le résultat de la requette HTTP !

Mais voila, sous Firefox, tout fonctionne parfaitement, la fonction est bien appelée. Par contre, sous internet explorer, l'appel de la fonction plante et retourne est erreur système !

Quelqu'un aurait une petite idée ?

Merci beaucoup...

/**
* Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
*/
function sendData( data, page, method, conteneur )
{ 
    if( document.all)
    {
        //Internet Explorer
        var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
    }//fin if
    else
    {
        //Mozilla
        var XhrObj = new XMLHttpRequest();
    }//fin else
    
    //si on envoie par la méthode GET:
    if(method == "GET")
    {
        if(data == 'null')
        {
            //Ouverture du fichier sélectionné:
            XhrObj.open("GET", page);
        }//fin if
        else
        {
            //Ouverture du fichier en methode GET
            XhrObj.open("GET", page+"?"+data);
        }//fin else
    }//fin if
    else if(method == "POST")
    {
        //Ouverture du fichier en methode POST
        XhrObj.open("POST", page);
    }//fin elseif

    //Ok pour la page cible
    XhrObj.onreadystatechange = function()
    {
        if (XhrObj.readyState == 4 && XhrObj.status == 200)
		////////////////////////////////////////////////////////////////////////////////////////////
		//On renvoit le contenu dans un conteneur
		if( conteneur ){
			//définition de l'endroit d'affichage:
			var content = document.getElementById( conteneur );
			content.innerHTML = XhrObj.responseText ;
		}
		////////////////////////////////////////////////////////////////////////////////////////////
		//On renvoit le contenu par le retour de la fonction
		else{
			AjaxInfos( XhrObj.responseText );
		}
		////////////////////////////////////////////////////////////////////////////////////////////
    }    

    if(method == "GET")
    {
        XhrObj.send(null);
    }//fin if
    else if(method == "POST")
    {
        XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        XhrObj.send(data);
    }//fin elseif
}//fin fonction SendData

Dernière modification par Bzh (Le 03/02/2007, à 13:48)

Hors ligne

#2 Le 03/02/2007, à 02:56

Frz

Re : Javascript => ajax => problème avec internet explorer !

Je ne sais pas si ton post est terminé, je n'ai pas l'impression.
Une piste peut-être :

var content = document.getElementById("conteneur");    // N'oublie pas les double-quotes

Hors ligne

#3 Le 03/02/2007, à 08:11

tinkywinky

Re : Javascript => ajax => problème avec internet explorer !

euh... "conteneur" est une variable, donc surtout pas de quotes wink

Je suis également en train de me mettre à Ajax ces jours, j'avoue n'avoir pas encore testé sous IE roll


Dell XPS M1710, Core 2 Duo 2.16 Ghz, 1 Go RAM, NVidia 7900 GTX 512Mo (1.0.9755)
Debian Unstable, Kernel 2.6.21, KDE 3.5.6, Beryl SVN

Hors ligne

#4 Le 03/02/2007, à 13:53

Bzh

Re : Javascript => ajax => problème avec internet explorer !

Merci beaucoup !

Mais le bug ne vient pas de là ! C'est incroyable ! Impossible de trouver !

Normalement, si "conteneur" est vide, on appel la fonction AjaxInfos() !

        ////////////////////////////////////////////////////////////////////////////////////////////
        //On renvoit le contenu dans un conteneur
        if( conteneur ){
            //définition de l'endroit d'affichage:
            var content = document.getElementById( conteneur );
            content.innerHTML = XhrObj.responseText ;
        }
        ////////////////////////////////////////////////////////////////////////////////////////////
        //Sinon, on appel la fonction AjaxInfos
        else{
            AjaxInfos( XhrObj.responseText );
        }
        ////////////////////////////////////////////////////////////////////////////////////////////

Tout fonctionne sous firefox mais PLANTE sous Internet Explorer ! Enfin, si "conteneur" n'est pas null tout fonctionne et internet explorer insère bien le contenu dans le conteneur ! Mais, seulement lorsque conteneur" est NULL, Internet Explorer PLANTE et n'appel pas la fonction AjaxInfos() !

Une idée ?

Hors ligne

#5 Le 03/02/2007, à 14:15

tinkywinky

Re : Javascript => ajax => problème avec internet explorer !

et si t'essayais :

if ( conteneur != null ) { ... }

Dell XPS M1710, Core 2 Duo 2.16 Ghz, 1 Go RAM, NVidia 7900 GTX 512Mo (1.0.9755)
Debian Unstable, Kernel 2.6.21, KDE 3.5.6, Beryl SVN

Hors ligne

#6 Le 03/02/2007, à 15:50

Bzh

Re : Javascript => ajax => problème avec internet explorer !

Enfet j'ai trouvé !

Un problème d'entête http dans mon fichier php appelé par la fonction Ajax !

Voili, merci beaucoup...

Hors ligne