J'essaie de tirer le contenu de Div à partir d'une autre page du site sur lequel je travaille et mettre à jour la Div sur la page actuelle. Je veux faire cela, donc je n'ai pas besoin d'un rechargement de page. L'appel Ajax que je fais fonctionne bien dans Firefox, il met à jour la Div avec le contenu de l'autre page du site. Le problème est qu'il casse dans IE, quand j'essaye d'obtenir le HTML des données renvoyées using .html() je obtiens null dans IE. Si je fais une alerte juste sur les données renvoyées, le code HTML apparaît.jQuery Ajax chargement du contenu d'une autre page du site
var divItems = $("#tab-bbp a").attr("href");
$.ajax({
type: "GET",
url: divItems,
dataType: "html",
success: function(msg){
$("#persistenslcont").html($("#persistenslcont",msg).html());
//null in IE, returns HTML in FF
alert($("#persistenslcont",msg).html());
},
error: function() {
alert("error");
}
});
Il semble étrange que cela ne fonctionne pas dans IE. En outre, je ne suis pas sûr si c'est la meilleure technique pour faire ce que j'essaie d'accomplir. Toute aide serait appréciée.
Modifier
Quand j'ai essayé la fonction .load je encore rencontré des problèmes avec IE ci-dessous est le code commenté. J'ai de nombreuses alertes pour essayer de comprendre quel est le problème. Il semble que # 2 devrait fonctionner mais dans IE renvoie null.
Est-il possible de manipuler l'objet objet ou de voir ce qu'il contient?
var divItems = $("#tab-bbp a").attr("href");
$("#persistenslcont").load(slItems + " #persistenslcont",
function (data, textStatus, req) {
//returns HTML code in the alert in IE & FF
alert("test 1" + req.responseText);
//returns null in IE - In FF returns proper code
alert("test 2" + $("#persistenslcont",req.responseText).html());
//returns [object Object] same in IE & FF
alert("test 3" + $("#persistenslcont",data));
//returns [object Object] same in IE & FF
var $response = $('<div />').html(data);
var $test4 = $response.find('#persistenslcont');
$('#persistenslcont').append($test4);
alert("test 4" + $test4);
if (textStatus == "error") {
alert("error");
}
});
Quelle version d'IE utilisez-vous? Avez-vous utilisé des outils de développement (par exemple Firebug for FF) pour vérifier les erreurs spécifiques? –
J'utilise Firebug mais aucune erreur n'apparaît dans Firefox, et avec la notification d'erreur JS activée dans IE rien n'apparaît non plus. Cela fonctionne dans FF juste pas dans IE. $ ("# persistenslcont", msg) .html() renvoie null bien que si vous regardez msg (les données retournées) vous obtiendrez le résultat du code HTML. – Westing