返回信息流<script type="text/javascript">
var arr1 = [];
var b1 = 1;
$.post("SQL.php",'',function(data){ var a =1;a=data;var a1 = 1;a1 = a%10; window.b1 = a1-2;} );
arr1.push(b1);
</script>
调试结果为
arr1.push(b1);这句话根本没有执行。为什么呢?
SQL.php 这个文件就一句话是 echo 1000;
是不是变量的作用域的问题呢?
这是一条镜像帖。来源:北邮人论坛 / www-technology / #32849同步于 2015/12/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
JavaScript 数组和变量的问题
bupt6394
2015/12/16镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
arr1.push(b1);
显然执行了
执行这行代码的时候b1的值是1
你的ajax是异步方式
请求结果还没回来的时候就已经执行到下一行代码了
请求结果回来了才会去执行$.post的回调函数
1压进去了是异步的结果,0怎么压进去的不是很明白。function(data)中this指针绑定到全局的。并且PHP中是echo 1000,data应该是"echo 1000"吧,如果是json对象的话比较明确吧。楼主明白了告诉下啊
callback hell。。。
arr1.push(b1) 在回调之前已经执行了,所以是 arr1.push(1)。
但后面的0就不知道了...