jquery ajax 同步非同步的執行

2021-06-18 01:18:50 字數 927 閱讀 4288

大家先看一段簡單的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)

按需選擇自己需要的方案吧。一般大**都採用第2種傳入函式的方式,來處理成功和失敗情況下的頁面提示。

jQueryAjax同步非同步區別

在專案開發過程中,要實現這麼乙個功能 href job.html onclick return check 就業a 我們都知道onclick是優先執行於href屬性的,只有onclick返回true才會執行href。接下來看js怎麼寫的 function check else return fal ...

jquery ajax 同步非同步的執行

大家先看一段簡單的 jquery ajax 返回值的js function getreturnajax else 但是我們呼叫這個 getreturnajax 發現始終取得的都是 false,那就是說 return true,return false 根本沒有起作用,在火狐下用 firebug 除錯...

jquery ajax 同步非同步的執行

大家先看一段簡單的jquery ajax 返回值的js function getreturnajax else 但是我們呼叫這個getreturnajax 發現始終取得的都是false,那就是說return true,return false根本沒有起作用,在火狐下用firebug除錯也證明,根本不...