问题描述
在前端开发中,发现一个处理时间比较长的请求一直没有返回数据。
浏览器开发工具 - Network - 请求的接口报红
经过定位问题后发现ajax请求遇到长时间加载时超过一定时间后会直接中断请求
解决方法
检查自己代码中的ajax请求配置中是否设置了timeout
,如果需求中有请求处理时间较长的接口,建议去除此项或者设置一个合适的时间并在timeout回调中设置超时的用户提示
ajax({
url: url,
type:'POST',
data: data,
async: async,
contentType: "application/json; charset=UTF-8",
traditional: true,
timeout: 30000, //请求超时时间
...
})
总结
本篇文章讲述了ajax中timeout超时属性设置后会出现中断请求的问题及解决方法。在日常开发中只实现业务需求还是不够的,需要自测网页在极端网络环境下的展现情况,并解决问题,保持代码的健壮性,否则就会变成问题上线被用户发现。
关于ajax请求的相关可以查看我的其他文章。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。