Donc, j'ai essayé de regarder autour avant de poster, mais je n'arrive pas à trouver une réponse. Mon dilemme:Scanner xml pour les liens en utilisant ajax, appliquer des liens à un autre appel ajax pour gratter la page et retourner les données
J'ai un fichier XML qui héberge des liens URL vers différentes pages (tous les produits similaires, diff). En utilisant jQuery et AJAX, je suis capable d'extraire les liens du fichier .XML. Je veux ensuite être en mesure de transmettre ces liens, dans l'ordre, à un autre appel AJAX qui utilisera un serveur proxy pour se connecter à un autre site et le gratter pour les données. Dans ce cas, c'est une classe spécifique. Je dois ensuite être en mesure de collecter les données au sein de cette classe et l'appliquer à une durée sur mon site, dans l'ordre.
balisage HTML qui attendra les données raclées
<div class="panel">
<span class="price"></span>
</div>
<div class="panel">
<span class="price"></span>
</div>
<div class="panel">
<span class="price"></span>
</div>
JS exécution Tout ceci:
//Pull Content Necessary Links From XML File
$.ajax({
type: "GET",
url: "/Test/addTocart/realExample/Media/xml/items.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('target').each(function() {
//Scan Through XML to Find Each Link
link = $(this).find('link').text();
function fetchPage(url) {
$.ajax({
type: "GET",
url: "http://test/crossdomainproxy.aspx?u=" + link,
error: function(request, status) {
alert('Error fetching ' + url);
},
success: function(data) {
parse(data);
}
});
}
function parse(data) {
alert($(data).find(".threeThin .price-side").text());
}
fetchPage(1);
});
}
});
Donc, essentiellement, si les autres pages de balisage ressemble à ceci:
Site 1
<span class="price-side">$23.33</span>
Site 2
<span class="price-side">$22.33</span>
Site 3
<span class="price-side">$245.33</span>
Mon balisage devrait ressembler à ceci:
<div class="panel">
<span class="price">$23.33</span>
</div>
<div class="panel">
<span class="price">$22.33</span>
</div>
<div class="panel">
<span class="price">$245.33</span>
</div>
donc je suppose que ma question serait, comment puis-je les spécifier à charger mon balisage dans l'ordre? Est-ce que je fais une boucle sur les liens dans xml, puis les jette dans ajax -> proxy, puis je fais une boucle sur les résultats pour cracher à chaque portée?
Toute aide serait grandement appréciée! Merci!