seulement charger le contenu à l'intérieur du corps à l'aide d'ajax - jquery
Je veux charger uniquement le contenu de la corps d'une page(sample.html) et l'ajouter à corps d'une autre page(index.html) .. comment faire..désolé je suis un noob
J'ai utilisé le code ci-dessous .. mais cela ne semble pas fonctionner correctement
$.ajax({
url: "/site/pages/sample.html",
success: function(data){
$('body').append(data);
}
});
OriginalL'auteur user1184100 | 2012-02-22
Vous devez vous connecter pour publier un commentaire.
Essayer :
Voir La page de chargement des fragments dans le
load()
docsMise à jour:
Comme l'a souligné @Windkiller dans les commentaires - ce qui va dupliquer le
body
élément sur le document. Une meilleure solution serait d'utiliser get et remplacez le contenu debody
comme ceci par exemple :Votre code va faire 2 corps dans le document. Quand il fait quelque chose comme $('body').html(data) et de données contient déjà le corps...
Il remplacera le
body
de ne pas les reproduire.Faire un test simple, exécutez la console et entrez: $("body").load("/ body");
ajout d'une solution alternative qui évite la duplication
OriginalL'auteur ManseUK
Un moyen simple serait de laisser jQuery filtrer les
<body>
élément dans le retourné de balisage, puis utilisez contenu() pour obtenir ses enfants, y compris les nœuds de texte, et de les ajouter dans le corps du document:Étrange, ça devrait fonctionner, en supposant que le balisage vous recevez contient un
<body>
élément... voyez-vous un message dans votre navigateur de la console d'erreur? Si oui, pouvez-vous poster ici?ses pas jeter de l'erreur 🙁 et les données est également annexé pas..
J'ai enfin compris ce qu'il se passe: jQuery déjà des filtres de la
<body>
élément de l'annotation par lui-même, de sortefind("body")
ne correspondent à rien. Ma mise à jour de la réponse devrait fonctionner comme prévu.Yup, il semble que le
<head>
élément est filtré, mais pas le<title>
élément. N' @ManseUK la réponse de donner de meilleurs résultats, puisque jQuery est censé correspondre uniquement les<body>
élément dans ce cas?OriginalL'auteur Frédéric Hamidi
Modifier sample.html et la bande vers le bas ce que vous n'avez pas besoin d'elle (si vous n'y accédez via ajax) ou: penser les données renvoyées par la fonction ajax comme une longue chaîne et de la copie de ce que vous avez besoin.
où parseReturnData renvoie uniquement ce dont vous avez besoin à partir de la page réelle.
OriginalL'auteur Andrei G
Vous pouvez le faire comme ceci
déclarer un div où vous voulez afficher la page
ajouter ce code dans le code de script
Si vous souhaitez ajouter cliquez ensuite utiliser onclick ou autre chose que vous pouvez utiliser selon vos besoins
OriginalL'auteur Rizwan Shahid