Показать сообщение отдельно
  #8 (permalink)  
Старый 09.02.2017, 07:02
Интересующийся
Отправить личное сообщение для RightSeNN Посмотреть профиль Найти все сообщения от RightSeNN
 
Регистрация: 08.02.2017
Сообщений: 10

Сообщение от 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>. Есть предположения в чем косяк?

Последний раз редактировалось RightSeNN, 09.02.2017 в 07:14.
Ответить с цитированием