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();
        }
    }
  • 相关阅读:
    Linux基础命令---mv
    Linux服务器---基础设置
    Linux基础命令---find
    Linux服务器配置---安装centos
    Linux基础命令---ls
    Linux基础命令---rmdir
    Linux基础命令---chown
    Linux基础命令---chmod
    Linux基础命令---chgrp
    Linux基础命令---ln
  • 原文地址:https://www.cnblogs.com/hutuzhu/p/4301751.html
Copyright © 2011-2022 走看看