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//此时已收到相应,代表请求已经发送完
}
}
}
标签:false,请求,isSending,发送,xhr,Ajax,let 来源: https://www.cnblogs.com/pangqianjin/p/14791173.html