標籤:非同步呼叫 pat 函數 java script var 調用 jquery 定義
jquery中,ajax傳回值,有三種寫法,只有其中一種是成功的
/** * async:false,同步調用 * 返回1:2 * 失敗 * 分析:ajax內部是一個或多個定義的函數,ajax中return傳回值,返回到ajax定義函數,而不是ajax外層的函數 */function checkAccount1(){var result = "1:2";$.ajax({url : path+‘/user/checkAccount.do‘,type : "post",data : {‘account‘:"1",‘accType‘:1},async : false,success : function(data) {return "1:1";}});return result;}/** * async:true,非同步呼叫 * 返回1:2 * 失敗 * 分析:result = "2:1"和後面return result非同步執行,導致return result先執行 */function checkAccount2(){var result = "2:2";$.ajax({url : path+‘/user/checkAccount.do‘,type : "post",data : {‘account‘:"1",‘accType‘:1},async : true,success : function(data) {result = "2:1";}});return result;}/** * 同步調用,且在ajax對全域變數進行設值 * 返回:"3:1" * 成功 * 分析:先執行result = "3:1";再往下執行return result; */function checkAccount3(){var result = "3:2";$.ajax({url : path+‘/user/checkAccount.do‘,type : "post",data : {‘account‘:"1",‘accType‘:1},async : false,success : function(data) {result = "3:1";}});return result;}
jquery中ajax用return來傳回值無效