js ajax 获取内容,JS ajax 获取方法外值

随着问题更新而修改,@mcfog 大大的回答亮了。比较符合这个新问题的答案。

变量提升:

Hoisting is JavaScript's default behavior of moving declarations to the top.

因为你在后面的for循环用了var声明了i,所以提升到了当前function的顶部,那就是我之前解答提到的,先在function里面找i,因为变量提升i存在于当前作用域,又刚好没赋值,所以就拿不到值。

拿不到值,不科学啊。

为了验证一下,我也写了个代码测试。是可以获取的。

访问i时,先在所在的function找,找不到再往外面找,再找不到就往外面的外面找,一直找到天涯海角,哦不,是全局,还找不到,我也没办法- -||

楼主是不是在这个过程中i内啥被覆盖了?还是真的获取不到。

(function($){

$('#btn').change(function(e){

var i = $(this).attr('id');

$.ajax({

url: "./f",

type:"GET",

cache: false,

data:'test=123',

success: function(data){

alert(i);

try{

var dataObj = eval("("+data+")").root;

}catch(e){

alert("数据出错:"+e);

}

},

error: function(e){

}

});

})

})(jQuery);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值