Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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函数_Javascript_Loops_While Loop - Fatal编程技术网

只要条件为真,就运行Javascript函数

只要条件为真,就运行Javascript函数,javascript,loops,while-loop,Javascript,Loops,While Loop,我正在构建一个PhoneGap应用程序,用户按下按钮,然后将数据发送到服务器。在成功处理程序上,我有一个新函数,它使用提示框询问用户一些问题,然后将它们发送回服务器。因此,只要条件“status=ok”为真,我就需要显示提示框 我不知道提示框必须出现多少次,可以是1到10次,所以我想我需要做一个循环,但是我怎么做呢 这是我现在使用的代码: function UpdateRecord(update_id) { var id = getUrlVars()["id"]; jQuery.ajax({

我正在构建一个PhoneGap应用程序,用户按下按钮,然后将数据发送到服务器。在成功处理程序上,我有一个新函数,它使用提示框询问用户一些问题,然后将它们发送回服务器。因此,只要条件“status=ok”为真,我就需要显示提示框

我不知道提示框必须出现多少次,可以是1到10次,所以我想我需要做一个循环,但是我怎么做呢

这是我现在使用的代码:

function UpdateRecord(update_id) 
{ var id = getUrlVars()["id"]; 
jQuery.ajax({ type: "POST", 
url: serviceURL + "update.php", 
data: 'id='+id , 
cache: false, 
success: function(data) {
        console.log(data)
        if(data.key[0].status == "ok"){
            var reply = prompt(data.key[0].QUESTION, "");
                    jQuery.ajax({ type: "POST", 
                    url: serviceURL + "question.php", 
                    data: 'id='+id+'&reply='+reply , 
                    cache: false, 
                    success: function(data) {
                        window.location = "page.html" }
             } else {
                  window.location = "page.html" 
             }
}
});
}

我认为您的目标是将响应从AJAX调用转移到方法
AskQuestion
(或者您想调用的任何方法)。此函数将提示并查询答案是否正确,并将其重定向到另一个页面:

function AskQuestion(data)
{
   var id = getUrlVars()["id"];
   console.log(data);
   if(data.key[0].status == "ok") {
      var reply = prompt(data.key[0].QUESTION, "");
      jQuery.ajax({ type: "POST",
                    url: serviceURL + "question.php",
                    data: 'id='+id+'&reply='+reply,
                    cache: false,
                    success: AskQuestion});
   } else {
      window.location = "page.html";
   }
}

function UpdateRecord(update_id) 
{
   var id = getUrlVars()["id"];
   jQuery.ajax({ type: "POST",
                 url: serviceURL + "update.php",
                 data: 'id='+id,
                 cache: false,
                 success: AskQuestion});
}

你为什么删除这个问题??无论如何,您需要重复整个过程,还是只需要调用“question.php”的部分?我需要重复success handler中的部分。因此,从
if(data.key[0].status==“ok”){
part抱歉,在二读时,我意识到您必须重复整个过程,因为您知道
data.key[0].status
是否已更改的唯一方法是发送新的AJAX请求。