当由setTimeout调用时,$ .ajax(this)不起作用

时间:2012-06-03 21:38:54

标签: jquery

这是$.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;
                }

1 个答案:

答案 0 :(得分:4)

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

您需要将this存储在变量中。

相关问题