ajax 的同步和非同步

2022-02-22 08:30:23 字數 820 閱讀 5912

大家先看一段簡單的jquery ajax 返回值的js

** function getreturnajax

else

}});

}但是我們呼叫這個getreturnajax()發現始終取得的都是false,那就是說return true,return false根本沒有起作用,在火狐下用firebug除錯也證明,**根本不會執行到return 部分。

我們試想在函式裡先定義乙個變數,然後在ajax裡賦值,最後在函式的末尾返回這個變數,會不會有效果呢?我們把**修改如下:

** function getajaxreturn()   

else

}});

return bol;

}結果仍然不起作用。最後解決方案有2,如下

1、新增async:false.即修改為同步了,什麼意思?(按同事解釋就是,這是等這個ajax有了返回值後才會執行下面的js。一語道破天機,怪不得以前很多ajax呼叫裡面的賦值都不起作用)。這樣等ajax給bol賦值完畢後,才執行下面的js部分。而剛剛非同步的話,還沒有來得及賦值,就已經return了。

** function getajaxreturn()   

else

}});

return bol;

}2、 通過傳入乙個函式解決這個問題。

** function getajaxreturn(success_function,fail_function)

else

}});

function success_function(info)

funciont fail_function(info)

ajax同步和非同步

之前一直在寫jquery 的時候遇到ajax載入資料都需要考慮 執行順序問題。最近的專案用了到ajax同步。這個同步的意思是當js 載入到當前ajax的時候會把頁面裡所有的 停止載入,頁面出去假死狀態,當這個ajax執行完畢後才會繼續執行其他 頁面假死狀態解除。而非同步則這個ajax 執行中的時候其...

AJax同步和非同步

當用 ajax 非同步請求的時候,如果你的資料依賴於另乙個ajax請求之後的結果,可能會導致程式執行過快使資料在達不到預期值。表現為只有debug或者在比較卡頓的情況下才能執行正常,這個時候我們可能需要將被依賴的請求設定為同步的,即 async false下面附上我出現問題的 function ge...

ajax同步和非同步

之前一直在寫jquery 的時候遇到ajax載入資料都需要考慮 執行順序問題。最近的專案用了到ajax同步。這個同步的意思是當js 載入到當前ajax的時候會把頁面裡所有的 停止載入,頁面出去假死狀態,當這個ajax執行完畢後才會繼續執行其他 頁面假死狀態解除。而非同步則這個ajax 執行中的時候其...