2014-01-19 91 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" }); 
});