jQuery GET ne lit pas les données de réponse HTML dans IE

Je fais un appel tout simplement ajax en utilisant jQuery (dans WordPress) – en utilisant GET pour extraire le contenu d’une page, puis en lisant la réponse dans un object jQuery. Cela fonctionne très bien dans tous les navigateurs sauf IE8 (non concerné par IE6 / 7. Le code en question est identique à celui utilisé dans les sites précédents, qui fonctionnent tous dans IE8. Voici le code:

var ajax_params = { url: relative_url, type: 'GET', dataType: 'html', data: {}, success: function(data, textStatus, xhr) { // create jquery element from html ssortingng data = $('
').append(data); pre($(data).find('#content')); pre($('#content')); plugin.replace_content(data, relative_url); }, }; plugin.ajax_call = $.ajax(ajax_params);

Les fonctions pre () sont juste des appels à console.log, et j’utilise firebug lite dans IE8 pour déboguer. J’ai déterminé que l’appel ajax fonctionne et que le code HTML de la page demandée a bien été renvoyé dans la variable de data . Il commence à se bloquer sur data = $('

').append(data) , où le résultat est un div vide. Comme je l’ai dit, ce code exact fonctionne sur d’autres sites, je ne peux donc pas l’expliquer. J’ai abaissé la version de jQuery à la version 1.8.3 pour qu’elle corresponde à celle des autres sites, mais en vain.

Des idées?

Nous avons compris le problème: il s’agissait d’un problème de mémoire, dû au fait que la réponse ajax était trop volumineuse pour Internet Explorer. Cela expliquerait pourquoi la même méthode exacte fonctionnait sur d’autres sites. Nous l’avons corrigé en supprimant autant que possible le code HTML de la réponse. Une autre solution consisterait à scinder les données de réponse en fragments et à effectuer plusieurs requêtes ajax.

oui c’est vrai. IN IE8 si la réponse est trop grande, l’appel ajax ne fonctionne pas. pour travailler avec IE8, nous devons réduire le contenu que nous obtenons de l’appel ajax.