跳到主要內容

jQuery在function中回傳$.ajax變數的方法-教學撰寫:徐嘉裕Neil hsu

正常來說,如果要在function中回傳變數只需要使用return即可!

例如

function test(){
var $result='12345';
return result;
}

alert(test()); //顯示12345

那如果在function中執行$.ajax不就是

function test(){
$.ajax({
url : 'test.php',
type : "post",
data : {},
async : false,
success : function(data) {
var result =data ;
}
});
return result;
}

很抱歉這樣寫是什麼值都回傳不出去的,因為$.ajax的data變數是在test.php完成操作後接收回傳值產生的,所以$.ajax預設是不存在data變數,這樣會導致function在執行時 return result;並無變數而產生程式錯誤(js變數需要宣告),解決方法就是在function中宣告一個變數預設值即可!

function test(){
var result =false ; //預設值
$.ajax({
url : 'test.php',
type : "post",
data : {},
async : false,
success : function(data) {
result =data ; //回傳值
}
});
return result;
}

這樣就沒問題了,可以吧function中$.ajax的data回傳變數使用return回傳出去!

有需要的朋友參考看看!


教學撰寫:徐嘉裕 Neil hsu

留言