Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有实时结果的JQuery搜索_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 具有实时结果的JQuery搜索

Javascript 具有实时结果的JQuery搜索,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在使用我编写的一个脚本来获取页面下方显示的搜索结果,现在这可以正常工作了,我想,但是当我输入一个长句子时,所有的请求都会发送到服务器,当然,响应会在稍后出现,并且会堆积起来,导致一个快速变化的div,我想用它来显示结果,这真的很难看很烦人,我在网上找不到任何关于这方面的例子 下面是触发AJAX调用的AJAX脚本 $(".harmster_form_replace_onchange input[type=text]").live("keyup paste", function(e){

我正在使用我编写的一个脚本来获取页面下方显示的搜索结果,现在这可以正常工作了,我想,但是当我输入一个长句子时,所有的请求都会发送到服务器,当然,响应会在稍后出现,并且会堆积起来,导致一个快速变化的div,我想用它来显示结果,这真的很难看很烦人,我在网上找不到任何关于这方面的例子

下面是触发AJAX调用的AJAX脚本

$(".harmster_form_replace_onchange input[type=text]").live("keyup paste", function(e){

    if($(this).val().length >=2 || e.keyCode==8)
    {
        var form = $(this).closest('form');
        var target = $(form).attr("target");
        loader_img(target);
        var url = $(form).attr('action');
        $($(form).attr("target")).hide();
            $($(form).attr("target")).fadeIn('fast', function(){
            $.post(url, $(form).serialize(), function(data){
                $(target).html(data);
            });
        });
    }
    return false;
});

我过去所做的是在点击服务器之前创建一个短暂的延迟。下面是使用jQuery执行此操作的一些示例:


如果您使用的是jQUery 1.8.x
,则不推荐使用live()
,您应该使用
.on()