2

这是 的误差函数$.ajax。为什么我不能延迟通话 $.ajax(this)

这有效:

error: function (req, status, error) {
                    $.ajax(this);
                    return;
                }

但这并不

error: function (req, status, error) {
                    var retry = function () { $.ajax(this); };
                    setTimeout(retry, 100);
                    return;
                }
4

1 回答 1

4

因为setTimeout回调在全局对象的上下文中运行。
因此,thisis window,不是 AJAX 设置。

您需要存储this在变量中。

于 2012-06-03T21:40:55.467 回答