我有這樣的功能:使用Javascript - 返回的項目後,AJAX總是不確定的
function get_non_authorized_bulk_edit_option_values() {
var modificable_column_names = get_write_user_values();
alert(modificable_column_names);
}
它調用此一個(我沒貼的所有細節,如XML變量的內容或功能的OnError):
function get_write_user_values() {
var request = $.ajax({
type: "POST",
async: false,
url: "model/_get_user_groups_info_pipe.php",
data: xml,
contentType: "text/xml; charset=utf-8",
dataType: "json",
success: OnSuccess,
error: OnError
});
function OnSuccess(data,status,request) {
var modificable_column_names = [];
$.each(data.column_name, function(index, value) {
modificable_column_names.push(value);
});
alert(modificable_column_names);
return modificable_column_names;
}
}
當我警告modificable_column_names數組時,它在get_write_user_values()函數中工作,但不在get_non_authorized_bulk_edit_option_values()函數中(我得到未定義)。 我嘗試使用對象或字符串而不是表,但我有同樣的問題。 爲什麼它不工作?
PS:我有一個同步調用,因爲在繼續之前我絕對需要這個函數的結果(我知道這不是最好的選擇)。
永遠不要使用'async:false'。這是一個可怕的做法,已被棄用。查看瀏覽器控制檯中的警告。從來沒有任何需要使用它。 – charlietfl
@Max請檢查我編輯的答案 – gaganshera
由於'get_write_user_values'不會返回任何東西,所以您會得到'undefined'。 –