Сообщение от laimas
|
Зачем на каждый запрос создавать новый объект XMLHttpRequest? Достаточно одного и очередь запросов.
|
Нашел похожий на мою задачку примерчик с использованием AJAX, переделал под свой запрос. И все заработало. Я незнаю такое ли вы мне советовали или нет так как досих пор незнаю что не так было в первом варианте. Но теперь все гуд. Если у когото стоит такаяже задачка как у меня парсить данные с нескольких юрлов можете тупо скопировать и заменить внутрянку функцыи
analysisSite. Все будет работать.
(function($){ //Аналог - $(document).ready(function (){
var targeturl = ["https://mysite.com/item/1-1-Name1/", "https://mysite.com/item/1-2-Name2/", "https://mysite.com/item/1-3-Name3/"];
var i = 0;
function ajaxStart(){
$('#progress').show();
}
function ajaxStop(){
$('#progress').hide();
}
function parserGo(){
ajaxStart();
for (var i = 0; i < targeturl.length; i++) {
var myRequest = $.ajax(targeturl[i]);
myRequest.done(function (d) {
analysisSite(d);
ajaxStop();
});
myRequest.fail(function (e, g, f) {
alert('Epic Fail');
ajaxStop();
})
}
}
function analysisSite(data){
var itemname = '';
var itemnameid = '';
var priceactive = '';
var buyordermaxprice = '';
var itempreviewsrc = '';
var itempreviewid = '';
var itempriceid = '';
$(data).find('.item-h1').children('h1').each(function(){
itemname = $(this).text();
itemnameid = "Name"+ '_' + $(this).text().replace(/\s/ig, '_');
})
priceactive = $('.ip-prices', data).children('div').children('span:eq(1)').text();
itempreviewsrc = $('.ip-pic', data).children('img').attr('src');
itempreviewid = "Preview"+ '_' + itemname.replace(/\s/ig, '_');
itempriceid = "Price"+ '_' + itemname.replace(/\s/ig, '_');
//Название + Ссылка
$('div.wrapper').append('<div class=item_name id=newdiv' + itemnameid + ' align="center"><a id=' + itemnameid + ' href=' + targeturl[i] + '>' + itemname + '</a></div>');
//Картинка превью
$('div.wrapper').append('<span class=itempreview><img id=' + itempreviewid + ' src='+itempreviewsrc+'></span><br>');
//Цена
$('div.wrapper').append('<span class=titlestyle>Price</span><div id=' + itempriceid + '>' + priceactive + '</div>');
}
$(function(){
$('#progress').hide();
$('#starter').click(parserGo);
});
})(jQuery);
Столкнулся с еще одной проблемкой. Не роботает ссылка указанная в строке №46. При просмотре кода странички, HREF там присутствует. Но ссылка какбы ниже названия. Название почемуто попадает в <div>, а ссылка остаеться в <a>. Есть предположения в чем косяк?