4

我只是想问问。我有文本输入,允许用户输入他们的城市。

jQuery 有一个keyup链接到这个输入的事件,并在每次字符更改后发送一个 AJAX 调用。

然而,我发现当人们打字时会发送许多不需要的 AJAX 调用,并且根据结果的数量,这可能会降低性能。

如果有新的呼叫,有没有办法取消 AJAX 呼叫?有一个更好的方法吗?

一个例子可以在这里看到:www.datingjapan.co

4

1 回答 1

3

您可以使用该abort方法jqXHR返回的对象的ajax方法(其他 AJAX 方法get也可以post返回一个jqXHR实例):

var xhr = $.ajax(opts);
xhr.abort();

请注意,jqXHR对象实际上只是 的扩展XMLHttpRequest,并且XMLHttpRequest它本身也有一个abort方法。

于 2012-04-04T21:14:57.290 回答