0

ユーザーがボタンを押してサーバーにデータを送信するPhoneGapアプリを作成しています。サクセスハンドラーには、プロンプトボックスを使用してユーザーにいくつかの質問をし、それらをサーバーに送り返す新しい関数があります。したがって、条件「status = ok」がtrueである限り、プロンプトボックスを表示する必要があります。

プロンプトボックスが何回表示されるかわかりません。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" 
             }
}
});
}
4

1 に答える 1

0

私はあなたの後に、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});
}
于 2012-07-04T06:20:26.830 に答える