2014-01-19 90 views
0

我想添加一些信息到數據庫。如果數據庫已經有一些信息,你可能不會添加一些信息。ajax請求後立即重定向

$(document).on("pagecreate", "#RDpage",function(){ 
    $("#submitR").click(function() { 
     $.getJSON("http://xxx:8080/getRD", function(data) { 

      if (data.length == 0) { 
       // send data to server 
       $.ajax({ 
        url: "http://xxx:8080/addRD", 
        type: 'GET', 
        contenttype:'application/json; charset=utf-8', 
        data: { 
         user:user, 
         RD:"Test" 
        }, 
        dataType:'JSON' 
       }); 
       $.mobile.changePage("#dialogAddRD", { transition: "pop", role: "dialog" }); 
      } else { 
       $.mobile.changePage("#dialogExistingRD", { transition: "pop", role: "dialog" }); 
      } 

     }); 
    }) 
}); 

其實它工作,但不是重定向。

我點擊按鈕,它將數據發送到服務器,對話框ADDRD出現1秒。我無法點擊它。然後我將被重定向回RDpage。

通常,對話框應保持打開狀態,然後,我可以點擊一個按鈕,去到另一個頁面

回答

1

Ajax的功能是異步的,並且會返回一個承諾。正如jQuery docs中所提到的,您可以使用它:

$.ajax({ 
    url: "http://xxx:8080/addRD", 
    type: 'GET', 
    contenttype:'application/json; charset=utf-8', 
    data: { 
     user:user, 
     RD:"Test" 
    }, 
    dataType:'JSON' 
}) 
.done(function(data) { 
    $.mobile.changePage("#dialogAddRD", { transition: "pop", role: "dialog" }); 
});