Ajax的4种错误处理

1.网络畅通,服务器端能接收到请求,服务器端返回的结果不是预期结果。

(用户给服务器发送参数,参数不符合要求,所以服务器返回非200状态码)

可以判断服务器返回的状态码,分别进行处理。

xhr.status   //获取http状态码
//路由
app.get('/error', (req, res) => {
	res.status(400).send('not ok')
})

//页面
    <body>
		<button id="btn">发送aa</button>
		<script>
			var btn = document.getElementById('btn');

			btn.onclick = function() {
				var xhr = new XMLHttpRequest();
				xhr.open('get', 'http://127.0.0.1:3000/error');

				xhr.send();

				xhr.onload = function() {
					console.log(xhr.responseText);
					console.log(xhr.status)
					if(xhr.status === 400){
						alert('请求错误')
					}
				}
			}
		</script>
	</body>

 

2.网络畅通,服务器端没有接受到请求,返回404状态码

检查请求地址是否错误

将上面代码地址,故意改错:error123

 

3.网络畅通,服务器端能接收到请求,服务器返回500状态码

服务器端的代码错误

将上面路由代码改成

app.get('/error', (req, res) => {
	console.log(abc);
	res.status(400).send('not ok');
})

 

4.网络中断,请求无法发送到服务器端

会触发xhr对象下面的onerror事件,在onerror事件处理函数中对错误进行处理

xhr.onerror = function(){
	alert('网络中断')
}

 

总结

Ajax状态码:表示Ajax请求的过程状态,ajax对象返回的

http状态码:表示请求处理的结果,是服务器返回的

 

readyState 状态码:                                                                   HTTP 状态码:

0:请求未初始化                                                                           200 - 服务器成功返回网页

1:服务器连接已建立                                                                    404 - 请求的网页不存在

2:请求已接受                                                                               503 - 服务器暂时不可用

3:请求处理中

4:请求已完成,且响应已就绪

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值