首页 > Web开发 > 详细

Ajax请求重复发送问题

时间:2021-05-20 23:07:42      阅读:31      评论:0      收藏:0      [点我收藏+]

设置一个标识位,表示是否正在发送请求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//此时已收到相应,代表请求已经发送完
                }
            }

        }

Ajax请求重复发送问题

原文:https://www.cnblogs.com/pangqianjin/p/14791173.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!