ajax post 请求 报错 caution : provisional headers are shown

前端之家收集整理的这篇文章主要介绍了ajax post 请求 报错 caution : provisional headers are shown前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


今天dmap更新部署后,在qa的jpaas测试环境出现如下问题:

执行批量删除任务时:


浏览器 没收到任何返回。 直接就悲催了。

但实际上 从业务和数据库来看,后台 是执行了,而且执行 成功了。 后台打印的日志 一切正常。



在qa测试环境可以复现,但偶尔也不会出现。 本地开发环境无法复现。


联系OP排查 tomcat日志 等一系列,从tomcat日志看 ,后台tomcat 访问日志 的确是HTTP 200 成功。

故可以判定后台 收到请求,并且成功处理,返回给前面了。


一筹莫展之际,考虑到是否可以用 rest client 模拟http请求,看下后台服务到底是否正常。

最后在qq群里请教其他前端人员。 有位同学 google 一下 “provisional headers are shown”,找到如下网页“ http://stackoverflow.com/questions/21177387/caution-provisional-headers-are-shown-in-chrome-debugger”


故怀疑是 前端 在 ajax返回前 就刷新了页面 或者 跳转到 其他页面去了。

这一下启发了我,因为这次 上线,前端fe 的确做了更改。

故我开始排查 js代码问题,发现了ajax 他设置了 timeout属性 为10s。

至此 真相大白,就是 因为这个 请求后台处理比较耗时,ajax在等待 10s 发现 后台 还未返回,就自动断开了连接。

故出现奇怪问题。



解决办法:

方法1 : 将ajax请求改成 同步。

方法2: 去掉 timeout属性的设置。


思考: 有时考虑问题 不能局限于 常规场景,要发散。 可能你以为 不可能出现问题的 地方 就在哪儿。 真有可能 是其他人挖的坑~

猜你在找的Ajax相关文章