Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery Ajax成功后停止加载_Javascript_Jquery_Ajax_Undefined - Fatal编程技术网

Javascript Jquery Ajax成功后停止加载

Javascript Jquery Ajax成功后停止加载,javascript,jquery,ajax,undefined,Javascript,Jquery,Ajax,Undefined,我使用jquery脚本从PHP文件中检索一些数据。问题是当检索到所有数据时,脚本没有停止执行 我使用console.log进行检查,我得到了1000个未定义的值,但仍然会增加到无穷大(9999999999+未定义),我想,如何停止 id = 0; function do_ajax() { id++; var url = $("#link_" + id).find("a").attr("href"); console.log(url);

我使用jquery脚本从PHP文件中检索一些数据。问题是当检索到所有数据时,脚本没有停止执行

我使用console.log进行检查,我得到了1000个未定义的值,但仍然会增加到无穷大(9999999999+未定义),我想,如何停止

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();
id=0;
函数do_ajax(){
id++;
var url=$(“#link"+id).find(“a”).attr(“href”);
console.log(url);
$.ajax({
类型:“POST”,
数据:{“url”:url},
url:“analyzer/checkbreak.php”,
成功:功能(数据){
如果(数据=“200”)
{
$(“#status”+id).html(\'\');
}否则{
$(“#status”+id).html(\'\');
$(.linka_u3;+id).addClass(“断线链接”);
}
dou_ajax();
}
});
};
dou_ajax();

删除ajax调用成功函数中的
do\u ajax()
调用函数。这导致了infinte循环。

您正在递归调用函数
do\u ajax()
,因此代码可以无限运行。
您可以尝试设置一个if条件来停止
i

的增量,如果我删除了,则脚本将只获取第一个数据,而不是全部数据。如果有N个html标记的ID为模式“link\u NUMBER”,则表示该请求将被调用N次。你想干什么?标页码我想你可以想出一个更好的解决办法。它的性能很差。另外,我可以看到您没有对服务器发送的数据做任何处理(以防服务器发回某些内容)。我有一个固定的表,带有固定链接,我需要验证每个表是否损坏,并显示fa图标是否有效。脚本正在运行。但我认为无限循环是不好的,我没有看到循环结束的条件。您应该检查var url=$(“#link"+id).find(“a”).attr(“href”)标记是否存在,如果不存在,则表示算法已经结束,因此您不需要再进行ajax调用。我说的对吗?你希望它什么时候停止?我尝试了这个,但仍然是一样的:
if(url!==null | | url!==undefined){