2010-08-30 17 views
0

Je rencontre des problèmes pour écrire des données (html, contient des tables) renvoyées à partir d'une requête ajax à un div. Le code fonctionne sur Chrome, IE firefox..except (testé sur IE 8) J'utilise le code suivant:jQuery, html(), append() problème avec IE

function ajax_test(option) { 
    $('.loading').fadeIn(); 
    $('.roto_messages').empty(); 
    $.get("options.php?i="+option, function(data) { 
     $('.loading').hide(); 
     $('.container').append(data); 
     $('.container').fadeIn(1000); 
     addthis.toolbox('.addthis_toolbox'); 
    }); 
} 

J'ai essayé d'utiliser .html() aussi, mais il ne fonctionne pas sur IE aswell. Merci.

+1

Eh bien ce qui est thats html retourné de la demande? Aussi comment exactement cela ne fonctionne-t-il pas? Les données ne sont-elles pas ajoutées? Est-il déformé ou affiché incorrectement? – prodigitalson

+0

Une réponse vide a-t-elle été mise en cache par IE? Essayez d'ajouter un horodatage à la fin de votre URL de demande. –

+0

@prodigitalson le html contient des tables, il a beaucoup de codes html, Les données sont saisies par ajax. Il est ajouté sur firefox, chrome .. sauf IE. (Ce problème concerne uniquement jquery 1.4.2.) – Slim

Répondre

0

Je commencerais par quelques changements. Cachez vos sélecteurs lorsque vous les créez initialement et utilisez le chaînage. Cela se traduit par quelque chose comme ceci:

function ajax_test(option) { 
    var 
    $loading = $('.loading'), 
    $container = $('.container'); 

    $loading.fadeIn(); 
    $('.roto_messages').empty(); 

    $.get("options.php", {i: option}, function(data) { 
     $loading.hide(); 
     $container 
     .append(data) 
     .fadeIn(1000); 

     addthis.toolbox('.addthis_toolbox'); 
    }); 
} 

La question suivante est, ce qui est addthis? Qu'est-ce qu'un utilitaire comme Firebug vous dit lorsque vous exécutez votre appel ajax?

+0

Firebug ne se plaint pas du code, tout fonctionne bien sur les autres navigateurs sauf IE, je vais essayer ce code demain matin car j'ai besoin d'aller dormir très tard. – Slim

0

Cela ressemble à un bug jQuery v1.4.2, j'ai essayé le même code avec jQuery 1.3.2 et ça marche très bien dans tous les navigateurs. BTW, utilisant jQuery v1.4.2, je reçois l'erreur suivante dans IE:

Message: 'null' is null or not an object 
Line: 112 
Char: 359 
Code: 0 
URI: http://www.mysite.com/jquery-1.4.2.min.js 
+0

Dans la table que vous êtes en train de charger ... faites-vous d'autres appels de script qui ont des hachages de propriété comme '{something: 1, something_else: 2, etc: '...'}'? – prodigitalson

+0

A partir des tables, il appelle les scripts Addthis & Sharethis mais j'ai déjà essayé de les supprimer, le problème ne vient pas d'eux. Mais le problème est que cela se produit uniquement avec IE en utilisant jquery 1.4.2, jquery 1.3.2 fonctionne très bien! – Slim