jQuery中的Ajax的async預設是true(非同步請求),如果想一個Ajax執行完後再執行另一個Ajax, 需要把async=false即可.
程式碼如下:
function TestAjax() { var UserName = $("#txtUserName").val(); $.ajax({ url:"AjaxCheckUserName.htm", async:false, success:function(data){ alert(data); } }); alert('Test'); $.ajax({ url:"AjaxHandler.ashx", async:false, data:"UserName=" + UserName, success:function(data){ $("#divAjax").html(data); }, error:function(msg){ alert(msg.responseText); } }); }
接著看下jquery $.ajax各個事件執行順序
執行順序如下:
1.ajaxStart(全域事件)
2.beforeSend
3.ajaxSend(全域事件)
4.success
5.ajaxSuccess(全域事件)
6.error
7.ajaxError (全域事件)
8.complete
9.ajaxComplete(全域事件)
10.ajaxStop(全域事件)