Jquery - 在发布请求后保存数据

时间:2014-09-18 19:44:12

标签: javascript jquery loops post

我试图循环一个jquery post请求,并在结果数据正确时停止它。

while(flag == 0){
    $.post("file.php", {
        first:first_p,
        second:second_p
    }, function(data){
            if(data == 1){
                flag = 1;
            }
    }
}

但问题似乎是标志仅在post请求中可用而不是while循环。 我怎么解决这个问题? 感谢。

1 个答案:

答案 0 :(得分:0)

这可能是因为ajax需要时间来查询服务器,并且在此期间它会继续发送请求,而它在while循环中。

将代码包装在函数中是一种更好的设计,如果提供了错误的响应,即data不是1,则再次调用该函数。

function checkFile(){
    $.post("file.php", {
        first:first_p,
        second:second_p
    }, function(data){
        if(data == 1){
            flag = 1;
        } else {
           checkFile();
        }
    }
}