Javascript变量范围内的ajax回调

时间:2014-07-18 23:56:54

标签: javascript jquery ajax

        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
            });
        });

有人能让我了解范围内的情况吗?

1 个答案:

答案 0 :(得分:0)

我没有在fiddle

中看到您的行为

哪个是正确的,因为x应该可以在任何这些范围内使用。

当您发表评论var y = x时,是否可以提供您正在使用的确切代码?必须有其他事情发生(除非它与我猜的JQuery版本有关)