• 终止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();
        }
    }
  • 相关阅读:
    hdu 4597 记忆化搜索
    hdu 4494 最小费用流
    hdu 4598 差分约束
    poj 3621 0/1分数规划求最优比率生成环
    poj 1695 动态规划
    noi 97 积木游戏
    hdu 4705 排列组合
    洛谷P2014 选课
    洛谷P1776 宝物筛选
    洛谷P1782 旅行商的背包
  • 原文地址:https://www.cnblogs.com/hutuzhu/p/4301751.html
Copyright © 2020-2023  润新知