zoukankan      html  css  js  c++  java
  • 终止ajax请求

     在做搜索功能时,文本框输入文本就得请求一次数据,如果上一次的请求还没回又请求了就导致数据错误和无用的数据请求。

    我们需要输入文本时候判断上一次的ajax请求是否完毕,若还没完毕就终止本次请求。

    对于jquery:

    <script src = "jquery.js"></script>
    <script>
    var xhr = $.ajax({type:'POST',
        url:'b.php',
        data:'',
        success:function(){
            alert('ok');
        }
    })
    alert(xhr);
    
    console.log(xhr);
    </script>
    <button id="song">abort</button>
    <script>
    $(function(){
        $("#song").click(function(){
            alert('click');
            xhr.abort();
        })
    })
    </script>

    对于原生的js:

    xmlHttp.open("POST","theUrl",true);
    xmlHttp.onreadystatechange=function(){
        ...//得到响应之后的操作
    }
    xmlHttp.send();
    //设置8秒钟后检查xmlHttp对象所发送的数据是否得到响应.
    setTimeout("CheckRequest()","8000");
    
    function CheckRequest(){
       //为4时代表请求完成了    
        if(xmlHttp.readyState!=4){
            alert('响应超时');
            //关闭请求
            xmlHttp.close();
        }
    }
  • 相关阅读:
    [VC++]轻松搞VC之定时器(Timer)
    [VC++]VC中如何获得当前系统时间
    [VC++]如何利用this获得窗口句柄
    SMART原则
    SQL配置
    术语百科
    关于SQL锁问题
    第六代OA办公理念(摘录)
    心动机型
    SQL2008R2的索引重建
  • 原文地址:https://www.cnblogs.com/hutuzhu/p/4301751.html
Copyright © 2011-2022 走看看