我在JavaScript中有一个函数,我尝试从函数中更改全局变量但总是返回相同的初始值3:
例如:起始值3,功能值0,但始终是警报3。
var test = 3;
jQuery.ajax({
type: "POST",
url: "ajax_js.php",
data: String,
success: function(result){
test = result;
if(result == 0){
$('input[name=user_name]').val('');
}
}
});
alert( test);
答案 0 :(得分:4)
Ajax中的A意味着异步。
在请求完成之前,在调用success
之前调用您的警报并且有机会更新变量。
尝试将警报移动到回调函数中,看看是否有效。
答案 1 :(得分:4)
把你的var test = 3;功能之外,例如:
<script type="text/javascript">
var test = 3;
$('#button').click(function() {
jQuery.ajax({
type: "POST",
url: "ajax_js.php",
data: String,
success: function(result){
test = result;
alert( test);
if(result == 0){
$('input[name=user_name]').val('');
}
}
});
});
</script>