0

我正在研究一种自动完成搜索选项,jquery's abort function因为我需要中止上一个调用并让新调用开始于keypress下面的每个是代码

if(ajaxCall) ajaxCall.abort();
ajaxCall = $.ajax({
    url: '<?php echo base_url(); ?>welcome/' + target,
    beforeSend: function() {},
    complete: function() {},
    data: data,
    type: 'post',
    success: function(result) {
        ....
    }
});

虽然它工作正常但是,我担心它的使用是否可以使用这种方法,因为我可以在萤火虫控制台中看到很多中止的调用?我认为中止的呼叫并没有从服务器中真正中止,而是仅从浏览器中止,我是对的吗?

这种方法还有其他替代方法吗?或者可以使用它吗?

4

1 回答 1

0

当您调用时,HTTP 连接将被终止abort()。这是否会停止您的 PHP 脚本(看起来您正在使用 CodeIgniter)取决于您的服务器设置,但默认设置是,是的。

不管服务器是否完成请求,它的结果永远不会发送给客户端,所以结果永远不会显示

但是,我会问您为什么要中止每个请求。如果我正在编写自动完成代码,我会在发送请求之前检测到一段时间的不活动(例如用户停止输入),或者允许请求完成并显示;一些结果(即使它们有 1 个字符)总比没有结果好,对吧?

于 2012-07-10T10:05:06.150 回答