2012-07-04 51 views
0

我正在構建一個PhoneGap應用程序,其中用戶按下按鈕,然後將數據發送到服務器。在成功處理程序中,我有一個新功能,用提示框詢問用戶一些問題,然後將它們發送回服務器。因此,只要條件「status = ok」爲真,我需要使提示框出現。只要條件成立,就運行Javascript函數

我不知道提示框出現的次數,可以是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" 
      } 
} 
}); 
} 
+0

爲什麼您刪除該問題?無論如何,你需要重複整個過程,還是隻需要調用「question.php」部分? –

+0

我需要在成功處理程序中重複該部分。所以一切從'if(data.key [0] .status ==「ok」){'part – user1423276

+0

對不起,在二讀後我意識到你必須重複整個事情,因爲唯一的方法是讓你知道是否'data.key [0] .status'已更改爲發送新的AJAX請求。 –

回答

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}); 
}