同步會阻塞後面的代碼,也就是說假設這個ajax請求要3 5秒,瀏覽器就會阻塞住3 5秒不執行後面的,知道等到ajax請求完成。 並且同步不能直接使用jsonp。
異步不能在回調以外直接拿到返回的data,要拿的話自行html
同步須要等待返回結果才能繼續,異步沒必要等待,通常須要監聽異步的結果
同步是在一條直線上的隊列,異步不在一個隊列上 各走各的jquery
以前一直在寫JQUERY代碼的時候遇到AJAX加載數據都須要考慮代碼運行順序問題。最近的項目用了到AJAX同步。這個同步的意思是當JS代碼加載到當前AJAX的時候會把頁面裏全部的代碼中止加載,頁面出去假死狀態,當這個AJAX執行完畢後纔會繼續運行其餘代碼頁面假死狀態解除。 而異步則這個AJAX代碼運行中的時候其餘代碼同樣能夠運行。 jquery的async:false,這個屬性 默認是true:異步,false:同步。 $.ajax({ type: "post", url: "path", cache:false, async:false, dataType: ($.browser.msie) ? "text" : "xml", success: function(xmlobj){ } }); 有了這個屬性能夠相對的減小代碼運行書序問題,可是若是用的太多,頁面假死次數太多。這樣反而致使用戶體驗不佳~!