zoukankan      html  css  js  c++  java
  • Ajax请求重复发送问题

    设置一个标识位,表示是否正在发送请求let isSending = false
    具体代码:

    // 1.创建对象
            let xhr = null
            let isSending = false
            const btn = document.getElementsByTagName('button')[0]
    
            btn.onclick = function(){
                if(isSending) xhr.bort()//如果正在发送请求,则取消该请求,并生成一个新的XHR
                xhr = new XMLHttpRequest()
                isSending = true//此时为正在发送请求
                // 2.初始化,设置请求方法和url
                xhr.open('GET', 'http://localhost:8000')
                // 3.发送
                xhr.send()
                // 4.事件绑定,处理服务端返回的结果
                xhr.onreadystatechange = function(){
                    // 判断返回结果,0,1,2,3,4
                    if(xhr.readyState===4){//服务端返回了所有的结果
                        // 判断响应状态码
                        isSending = false//此时已收到相应,代表请求已经发送完
                    }
                }
    
            }
    
  • 相关阅读:
    MySQL 子查询
    mysql3
    mysql2
    mysql
    C语言理论知识
    冒泡排序
    猜数字游戏
    WPF清爽酷炫的界面Mahapps.metro
    如何在.net4.0中使用.net4.5的async/await
    在C#中使用官方驱动操作MongoDB
  • 原文地址:https://www.cnblogs.com/pangqianjin/p/14791173.html
Copyright © 2011-2022 走看看