2016-03-28 6 views
-1

Я использую сценарий jquery для извлечения некоторых данных из файла PHP. Проблема заключается в том, что все данные извлекаются, сценарий не останавливается для выполнения.JQuery Ajax прекратить загрузку после успеха

Я использовал console.log для проверки, и я получаю это 1000 неопределенных и все еще увеличиваю до бесконечности (99999999+ undefined), я думаю, как остановить это?

id = 0; 
function do_ajax() { 

     id++; 
     var url = $("#link_" + id).find("a").attr("href"); 
     console.log(url); 
     $.ajax({ 
      type: "POST", 
      data : {"url" : url}, 
      url : "analyzer/checkbroken.php", 
      success: function(data){ 
      if(data == "200") 
      { 
       $("#status_" + id).html(\'<i class="fa fa-check"></i>\'); 
      } else { 
       $("#status_" + id).html(\'<i class="fa fa-times"></i>\'); 
       $(".linka_" + id).addClass("brokenlink"); 
      } 
      do_ajax(); 
      } 
      }); 
     }; 




do_ajax(); 
+0

Когда вы хотите его остановить? –

ответ

0

Вы вызываете функцию do_ajax() рекурсивно, чтобы код работал до бесконечности. Вы можете попробовать поставить условие if, чтобы остановить приращение i.

+0

Я пробовал это, но все тот же: 'if (url! == null || url! == undefined) {' –

+0

Исправлено, спасибо. –

1

Удалить функцию do_ajax() вызова в функции успеха вызова AJAX. Это вызывает цикл infinte.

+0

Если я удалю, то скрипт получит только первые данные не все. –

+0

Если есть теги html, которые имеют шаблон 'link_NUMBER' как их идентификатор, это означает, что запрос будет называться N раз. Что ты пытаешься сделать? Разбивка? Я думаю, вы могли бы найти лучшее решение для этого. Это плохая работа. Кроме того, я вижу, что вы ничего не делаете с данными, отправленными сервером (в случае, если сервер отправляет что-то обратно). – ggderas

+0

У меня есть фиксированная таблица с фиксированными ссылками, и мне нужно проверить каждый, если он сломан или нет, и отобразить значок fa, если он действителен или нет. скрипт работает. но бесконечный цикл не очень хорош, я думаю. –