1、async值爲true (異步)html
當ajax發送請求後,在等待server端返回的這個過程當中,前臺會繼續 執行ajax塊後面的腳本,直到server端返回正確的結果纔會去執行success,也就是說這時候執行的是兩個線程,ajax塊發出請求後一個線程 和ajax塊後面的腳本(另外一個線程)ajax
例如json
?服務器
1異步 2async 3函數 4post 5url 6spa 7 8 9 10 11 12 13 |
|
在上例中,當ajax塊發出請求後,他將停留function1(),等待server端的返回,但同時(在這個等待過程當中),前臺會去執行function2()。
2、async值爲false (同步)
當執行當前AJAX的時候會中止執行後面的JS代碼,直到AJAX執行完畢後時,才能繼續執行後面的JS代碼。
例如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
當把asyn設爲false時,這時ajax的請求時同步的,也就是說,這個時候ajax塊發出請求後,他會等待在function1()這個地方,不會去執行function2(),直到function1()部分執行完畢。
若是是這樣的話,彷佛ajax 的同步也沒有什麼用的呢?
並且若是不少這樣的話,這樣用戶體驗是很差的。
經過遠程 HTTP POST 請求載入信息。
這是一個簡單的 POST 請求功能以取代複雜 $.ajax 。請求成功時可調用回調函數。若是須要在出錯時執行函數,請使用 $.ajax。
url:發送請求地址。
data:待發送 Key/value 參數。
callback:發送成功時回調函數。
type:返回內容格式,xml, html, script, json, text, _default。
使用 post 的回調函數,而後 更加返回的值,來進行 操做彷佛也能夠達到咱們須要的效果的。
jQuery.post( url, [data], [callback], [type] ) :
使用POST方式來進行異步請求
參數:
url (String) : 發送請求的URL地址.
data (Map) : (可選) 要發送給服務器的數據,以 Key/value 的鍵值對形式表示。
callback (Function) : (可選) 載入成功時回調函數(只有當Response的返回狀態是success纔是調用該方法)。
type (String) : (可選)官方的說明是:Type of data to be sent。其實應該爲客戶端請求的類型(JSON,XML,等等)
function saveCallback(result) {
if (result.success) {
執行成功,在這裏寫咱們的代碼,。。
}