正常來說,如果要在function中回傳變數只需要使用return即可!
例如
function test(){
var $result='12345';
return result;
}
function test(){
$.ajax({
url : 'test.php',
type : "post",
data : {},
async : false,
success : function(data) {
var result =data ;
}
});
return result;
}
例如
function test(){
var $result='12345';
return result;
}
alert(test()); //顯示12345
那如果在function中執行$.ajax不就是
$.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;
}
$.ajax({
url : 'test.php',
type : "post",
data : {},
async : false,
success : function(data) {
result =data ; //回傳值
}
});
return result;
}
這樣就沒問題了,可以吧function中$.ajax的data回傳變數使用return回傳出去!
有需要的朋友參考看看!
教學撰寫:徐嘉裕 Neil hsu
留言
張貼留言