Obtenir de l'élément spécifique de site externe à l'aide de jQuery / ajax
Je suis à l'aide de jQuery et ce plugin extraire le contenu d'un site externe.
Il fonctionne très bien en utilisant le code suivant:
$.ajax({
url: 'http://www.somesite.com/',
type: 'GET',
success: function(res) {
$("#here").html(res.responseText);
}
});
Mais ce que je voudrais vraiment faire, c'est de tirer seulement une section (div) à partir du site cible, et je comprends que ce n'est possible que lors de l'utilisation de la load()
méthode, pas GET
.
J'ai ensuite trouvé ce code , mais quand j'ai essayé de l'intégrer dans le code, il n'a pas l'air de fonctionner, en tant que tel:
$.ajax({
url: 'http://www.somesite.com/',
type: 'GET',
success: function(res) {
$(res).find('div.content').each(function(){
$('#here').append($(this).html());
});
}
});
À la recherche à la demande sur Firebug, la demande ne semble pas réussi, mais le code n'arrive pas à trouver la balise suivante: <div class="content row">
sur le site cible.
Ai-je besoin pour s'assurer que la cible de l'élément a un #ID, au lieu d'une classe?
Merci!
OriginalL'auteur kneidels | 2014-01-29
Vous devez vous connecter pour publier un commentaire.
Dans le succès de rappel vous êtes récupérer votre contenu html de responseText, vous devriez faire la même chose dans le deuxième cas:
À l'aide class="contenu" ou id devrait fonctionner. Cependant, vous devez être conscient que le code ci-dessus ajoute tous les div's qui ont de la classe de contenu pour votre id="ici" div, ce qui pourrait ne pas être ce que vous voulez. Si vous voulez juste le contenu d'un élément spécifique, l'utilisation de son id à la place.
Que penser de l'utilisation de trouver sur un id? Serait
find('div#content)
travail?Qui va travailler (en supposant qu'il est un
<div id="content">
en html qui est retourné)OriginalL'auteur Rui
Essayez d'utiliser
jQuery.parseHTML();
Description: Analyse une chaîne en un tableau de nœuds DOM.
parce que ajax réponse est un
string
et de cette façon vous ne pouvez pas utiliser.find()
méthode pour trouver un nœud dom. alors d'abord, vous devez analyser la chaîne de nœuds dom qui vous a reçu à partir du serveur, alors vous pouvez utiliser.find()
pour choisir votre élément cible.OriginalL'auteur Jai