1

我有以下成功方法。在我使用 setTime out 之前,它没有问题,但它发送了很多 AJAX 请求。为了减慢它的速度,我使用了 setTimeout。因为我把它放进去,我得到了一堆这样的错误:“Uncaught SyntaxError: Unexpected identifier”。

success: function (data) {
    if (data === '') {
        setTimeout( $.ajax(this) ,3000);
        console.log("AJAX resent");

    }
    else {
        //console.log("|", data, "|");
        test.html('');
        test.append(data);
    }
},
4

1 回答 1

2

该函数必须被引用,而不是评估,所以如果你需要传递参数,你必须将它包装在一个匿名函数中:

var that = this;
setTimeout(function() {
    $.ajax(that);
} ,3000);
于 2013-08-01T19:00:56.573 回答