这是$.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;
}
答案 0 :(得分:4)
因为setTimeout
回调在全局对象的上下文中运行
因此,this
是window
,而不是AJAX设置。
您需要将this
存储在变量中。