在 chrome 扩展中循环 ajax 请求,不起作用

发布于 2024-11-06 22:04:27 字数 561 浏览 1 评论 0原文

我正在尝试连续循环 ajax 请求,但它只在最后一个循环中执行 ajax 操作。

while(i<3){
var query = site_url+keywords[i]+'"' ;
         $.ajax({
            url: query,
            type: "GET",
            dataType: "html"
success: function(html) {
var el = $(html).find("#tagID");
                    if(el.length) {
                        console.log("Element  exists");  
                        var cont = 1;

                    }
else{
console.log("Element  doesnt exist");
 var cont = 0;
}
}
});
        console.log(cont);

        i=i+1;    
        }

I was trying loop over the ajax request continuously but it was doing the ajax thing only for the last loop.

while(i<3){
var query = site_url+keywords[i]+'"' ;
         $.ajax({
            url: query,
            type: "GET",
            dataType: "html"
success: function(html) {
var el = $(html).find("#tagID");
                    if(el.length) {
                        console.log("Element  exists");  
                        var cont = 1;

                    }
else{
console.log("Element  doesnt exist");
 var cont = 0;
}
}
});
        console.log(cont);

        i=i+1;    
        }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

假情假意假温柔 2024-11-13 22:04:27

沿着这些思路:

processKeyword(0);

function processKeyword(i) {
    if(i < keywords.length) {
        var query = site_url+keywords[i]+'"' ;
        $.ajax({
            url: query,
            type: "GET",
            dataType: "html"
            success: function(html) {
                var el = $(html).find("#tagID");
                if(el.length) {
                    //found, stop processing
                    result(i);
                } else{
                    //not found, process next
                    processKeyword(i + 1);
                }
            }
        });

    } else {
        //all processed, nothing found
        result(-1);
    }

}

function result(i) {
    //i contains keyword index if was found, -1 otherwise
}

Something along those lines:

processKeyword(0);

function processKeyword(i) {
    if(i < keywords.length) {
        var query = site_url+keywords[i]+'"' ;
        $.ajax({
            url: query,
            type: "GET",
            dataType: "html"
            success: function(html) {
                var el = $(html).find("#tagID");
                if(el.length) {
                    //found, stop processing
                    result(i);
                } else{
                    //not found, process next
                    processKeyword(i + 1);
                }
            }
        });

    } else {
        //all processed, nothing found
        result(-1);
    }

}

function result(i) {
    //i contains keyword index if was found, -1 otherwise
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文