全局变量 JavaScript
我在 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);
I have an function in JavaScript, I try to change an global var from an function but always returns the same initial value 3:
For example: start value 3, function value 0, but always alert 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);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Ajax 中的 A 表示异步。
您的警报将在请求完成之前、调用
success
之前被调用,并且有机会更新变量。尝试将警报移至回调函数中,看看是否有效。
The A in Ajax means asynchronous.
Your alert is being called before the request is finished, before
success
is called and has a chance to update the variable.Try to move the alert into the callback function and see if that works.
把你的 var test = 3;在函数之外,例如:
put your var test = 3; outside of the function eg: