这是很典型的异步问题:
var req = true;
//1、到这里还是顺序执行的,但是这里只是把请求异步发出去,然后就继续执行后边(2处)的代码了
$.post("/url",{},function(){
//这是回调函数,是等服务器响应完成之后才会执行这里的代码,也就是说,这里的代码执行的时候外层函数早已经执行完返回true了
//在这里改变req的值对外层是没有任何影响的。
req = data.check;
},"json");
//2、第1步把请求发出去之后就直接执行这句返回了,当然这里的req还是true
return req;
使用$.ajax方法,设置async为false,表示同步,这样就可以修改了。。。
逻辑“或”运算符(||)result=expression1||expression2;如果两个表达式中有一个或两个等于True,则result是True。