IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Appel Ajax sous IE7 [AJAX]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 3
    Par défaut Appel Ajax sous IE7
    Bonjour,

    Ayant un problème d'appel Ajax que je n'ai pas réussi à régler depuis maintenant 2 jours, je me permets de poster mon problème, en espérant obtenir une réponse que je n'aurais pas déjà eut l'occasion de croiser sur les autres sujets qui n'ont, malheureusement, mené à rien pour mon problème. Le voici :

    J'utilise jQuery et Ajax pour gérer les langues de mon site web, celle-ci changent donc au clic d'un lien qui appelle ma fonction. Voici le code d'appel :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     <a title="Site en français" onClick="langue('fr');" class="french-div"><p class="francais">Français</p></a>
    <a title="Website auf deutscher Sprache" onClick="langue('de');" class="deutsch-div"><p class="allemand">Deutsch</p></a>

    Et voici ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    function langue(lang){
     
    $.ajax({
     
    	type:"GET",
    	url:"navigation/menu_navigation.php?lang="+lang,
    	async:false,
    	dataType:"json",
    	success:function(data){
     
    		$('#accueil').html(data.accueil);
    		$('#medias').html(data.medias);
    		$('#we_club').html(data.we_club);
    		$('#tarifs').html(data.tarifs);
    		$('#conseils').html(data.conseils);
    		$('#prime').html(data.prime);
    		$('#faq').html(data.faq);
    		$('#actualites').html(data.actualites);
     
    	},
     
    });
     
    };
    Le problème de fonctionnement est le suivant : Ce code fonctionne sur tous les navigateurs, de IE10 à IE8, mais évidemment, pas sur IE7. J'ai testé toutes les solutions données sur les forums ;

    - # pass the default character set
    AddDefaultCharset utf-8

    Dans le htaccess

    - cache: false

    Dans ma fonction ajax, mais rien n'y fait. J'ai essayé de mettre un "Alert" au début de ma fonction pour voir si l'appel est correct, sur IE10 à IE8, aucun problème, le popup s'ouvre et le menu change de langue. Mais encore une fois, sous IE7, le popup ne s'affiche pas lors de l'appel de la fonction. Néanmoins, je sais que l'appel est bon car si je supprime le code ajax, l'alerte fonctionne.

    Autant vous dire que je suis consterné d'avoir déjà passé le double du temps sur le site pour l'adapter à IE, et voilà que ma gestion des langues de fonctionne pas...

    Merci beaucoup pour vos réponses et n'hésitez pas si j'ai omis de mentionner quelque chose

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    quel est la version de jQuery?
    As tu essayais de gérer l'erreur pour en savoir plus, que dit la console d'erreur.

    http://api.jquery.com/jQuery.ajax/

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 3
    Par défaut
    Bonjour,

    Ma version est "jquery-1.6.4" et la console d'erreur me dit "SCRIPT5007: La valeur de la propriété « langue » est null ou non définie, pas un objet Function"

    Je vais essayer de grappiller autour du passage de valeur qu'il ne doit pas aimer.

  4. #4
    Futur Membre du Club
    Inscrit en
    Juillet 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 3
    Par défaut
    C'est tout bon, grâce à vous, j'ai vérifié la console d'erreur de IE et j'ai pu déceler cette erreur. Voici le code avant la modification ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    function langue(lang){
     
    $.ajax({
     
    	type:"GET",
    	url:"navigation/menu_navigation.php?lang="+lang,
    	async:false,
    	dataType:"json",
    	success:function(data){
     
    		$('#accueil').html(data.accueil);
    		$('#medias').html(data.medias);
    		$('#we_club').html(data.we_club);
    		$('#tarifs').html(data.tarifs);
    		$('#conseils').html(data.conseils);
    		$('#prime').html(data.prime);
    		$('#faq').html(data.faq);
    		$('#actualites').html(data.actualites);	
     
    	},
     
    });
     
    };
    Voici le code après la modification ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    function langue(lang){
     
    $.ajax({
     
    	type:"GET",
    	url:"navigation/menu_navigation.php?lang="+lang,
    	async:false,
    	dataType:"json",
    	success:function(data){
     
    		$('#accueil').html(data.accueil);
    		$('#medias').html(data.medias);
    		$('#we_club').html(data.we_club);
    		$('#tarifs').html(data.tarifs);
    		$('#conseils').html(data.conseils);
    		$('#prime').html(data.prime);
    		$('#faq').html(data.faq);
    		$('#actualites').html(data.actualites);	
     
    	}
     
    });
     
    };
    La subtilité se trouve lors de la fermeture du premier crochet de "success:function(data){". Le " , " après le crochet faisait planter IE7 qui demandait un paramètre en plus. C'est donc réglé !

    Merci infiniment

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Le " , " après le crochet faisait planter IE7 qui demandait un paramètre en plus. C'est donc réglé !
    il est vrai que c'est en grand classique,
    < > et je ne l'ai même pas observé </ >

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/09/2010, 20h26
  2. [AJAX] AJAX sous IE et FF
    Par Zarx dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/08/2007, 13h24
  3. Checkbox sous IE7
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 20/03/2006, 23h52
  4. [VBA]localiser un appel fonction sous excel
    Par random dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/01/2006, 10h09
  5. [AJAX] Effectuer plusieur appel ajax
    Par shwin dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 06/10/2005, 16h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo