今天在寫(xiě)jquery的ajax方法的時(shí)候想獲取回調函數中的返回值,但是怎么也獲取不到,因為是jquery的方法中嵌套jquery的方法,導致作用域也不好使變量傳遞數據。
比如像如下的代碼:
在這種情況下想獲取$.get方法中回調函數的return的話(huà)就很困難,其實(shí)我們可以換種方法來(lái)解決這個(gè)問(wèn)題,為何不把data的數據提交到回調函數以外的地方進(jìn)行處理,這樣就會(huì )避免內層的數據無(wú)法向外層傳遞。
查看jquery手冊發(fā)現有一種比較好的解決方案:
varstr = $.ajax({url:xxxx,type:'GET',async:false,cache:false}).responseText;
1 | varstr = $.ajax({url:xxxx,type:'GET',async:false,cache:false}).responseText; |
這樣就可以通過(guò)ajax來(lái)獲取返回值,注意這里使用了async:false jQuery中的解釋是:
默認設置下,所有請求均為異步請求。如果需要發(fā)送同步請求,請將此選項設置為 false。注意,同步請求將鎖住瀏覽器,用戶(hù)其它操作必須等待請求完成才可以執行。
聯(lián)系客服