weixin_33737134 2015-08-10 08:51 采纳率: 0%
浏览 97

在while循环内进行Ajax调用

I want Ajax to get information while the information is valid. So if I do

$(document).ready(function () {
            var url = '/my/url/';
            var ses = true;
            var i = 0;
            while (ses) {
                i++;
                var temp;
                $.get(url + "?get=" + i, function (data) {
                    if (data != '') {
                        temp = data;
                        sortArticles(data);
                    }
                });
                if(temp == '') ses = false;
            }
        });

If I do this without while (putting 0 instead of get var), I get the information I need, but if I put it like this, I enter an infinite loop and the page breaks. By the way, I tested and the if(data != '') statement works as intended.

I don't know why temp doesn't change the state of the ses variable. I tried putting an else statement inside $.get(..)

else ses = false;

but it doesn't do the trick neither.

Thanks for reading!

  • 写回答

3条回答 默认 最新

  • weixin_33701251 2015-08-10 08:56
    关注

    The way you wrote your code temp will never be ''. The problem is temp is not a string. It's undefined.

    Instead of:

    if(temp == '') ses = false;
    

    write:

    if(typeof(temp) == 'undefined') ses = false;
    
    评论

报告相同问题?