问题描述
var t=1; $.post("backend.jsp",{param:'param'}, function(data,textStatus){t=22;//赋值 }); alert(t);//firefox 输出1 alert(t);//firefox 输出2那位大大说说是为什么呀,怎么才能让赋值语句生效呢
解决方案
因为ajax请求时一个异步过程,代码不会等返回后再向下执行要在请求返回后执行的代码,必须在回调函数中调用一下你会看到正确的结果 function(data,textStatus){ t=22;//赋值 alert(t);//firefox 输出1 alert(t);//firefox 输出2 });
解决方案二:
楼主,那是因为异步的问题解决的办法加上async:false就可以了
解决方案三:
和作用域啊,jquery都无关
时间: 2024-12-02 22:29:38