阅读 100

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//此时已收到相应,代表请求已经发送完
                }
            }

        }

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

文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐