ajax回调中的Javascript变量作用域
Javascript variable scope inside an ajax callback
var x = this;
$.post(some_url, some_data).always(function(){
var y = x;
var some_other_data = {
hi: "hi"
};
var posting = $.post(some_other_url, some_other_data);
posting.done(function (data, b, c) {
do_something();
}).fail(function (xhr) {
var response = xhr.responseText;
//HERE!
//y is not defined here!
//x is defined here!
//if I get rid of var y = x from above, x is not defined anymore!
debugger
});
});
有谁能给我一些启发吗?
我没有看到你的行为
这是正确的,因为x
应该在这些范围中可用。
你能提供你注释掉var y = x
时使用的确切代码吗?肯定有别的原因(除非是和JQuery的版本有关)
相关文章:
- 带有KendoUI组件的Javascript变量作用域
- Javascript变量作用域:从回调函数中提取变量
- 使用JavaScript回调函数了解变量作用域和闭包
- jquery.post和变量作用域
- 变量作用域:在函数之间传递的名称
- 在 AJAX 和 Javascript 中使用变量和变量作用域
- 节点.js/express.js中的变量作用域
- jquery ajax 回调变量作用域(为什么有些在作用域中,而另一些则不在作用域中)
- JavaScript 中的变量作用域
- ajax GET 和 POST 中的变量作用域
- Javascript:变量作用域和全局变量的弊端
- Javascript 自执行函数和变量作用域
- 拼接上的Javascript全局变量作用域/覆盖
- 在Node中与jsdom和jquery共享变量作用域
- NodeJS:代码优化和变量作用域
- Javascript数组变量作用域
- AngularJS ng控制器指令不接受javascript中的变量(作用域函数),也不给出任何错误
- 回调函数中的变量作用域呢
- JavaScript/jQuery变量作用域导致错误
- AJAX变量作用域