我使用函数createVariable()
来创建变量$user_rank
以在第二个函数getRank()
中使用它。我使用下拉列表调用这两个函数:
<select name="rank" onchange="createVariable(this.value); getRank();">
创建变量()
function createVariable(user_id) {
$.ajax({
type: "GET",
url: "file1.php",
data: "user_id=" + user_id,
success: function(result){
$("#TargetRank1").html(result);
}
});
}
seconde 函数(在 file1.php
中)使用此变量$user_rank
getRank()
function getRank(){
$.ajax({
type: "GET",
url: "file2.php?user_rank=<?php echo $user_rank; ?>",
success: function(result){
$("#TargetRank2").html(result);
}
});
};
问题
当我第一次使用下拉菜单并选择user1
时,我只从函数createVariable()
中获取信息。当我再次使用它并选择 user2 时,该函数createVariable()
返回用户 2 的信息(好),但函数getRank()
返回用户 1 的信息。
谁能帮我解决这个问题?
可能是
由于在调用getRank()函数之前没有完成createVariable()ajax调用。所以getRank()获取旧数据。尝试使用异步假
function createVariable(user_id) {
$.ajax({
type: "GET",
url: "file1.php",
async: false,
data: "user_id=" + user_id,
success: function(result){
$("#TargetRank1").html(result);
}
});
}