请教关于一下jquery中的ajax中的success和complete的问题
各位前辈大家好~
这段时间在家闲着没事,学习jquery ajax看到了从来没用过的complete
1 我是不是把这个complete理解成为try catch finally中的finally?
也就是说不管这次请求失败或者成功,最终都会进入这个complete?
2 服务器的状态码有 1XX~5XX,我这边试验了下
1)4XX 5XX会进入ajax error
2)2XX会进入ajax success
3)3XX比较特别是
302 303是重定向,XMLHttpRequest响应的是跳转后的地址的状态码,也就是说跳转地址如果响应200,那么会进入ajax success
问题就是304,304是来自缓存和跳转一毛钱关系都木有,当前项目也怎么都弄不出这个这个状态码,请问这个状态码会进入ajax success么?
查阅资料的时候发现了这个问题
https://github.com/axios/axio...
理论山讲,如果是浏览器问题,那么用jquery应该也能复现出来,很可惜这个问题我也没复现出来,有可能是新版的edge已经修正了吧
请问遇到过这个类似问题的前辈,这个如果用jquery 从post变成get ajax请求的话,会不会进入ajax success?
4)1XX 会进入ajax error还是ajax success?
综上所述,ajax error success 是不是已经覆盖了所有的情况,也就是说对于一个请求,error success必然会进入一个,那么complete存在的意义是什么?
感谢各位前辈看我絮絮叨叨哦说到这里,请帮我解惑,先行谢过了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
1、对
3、304 是对资源的缓存,由资源返回 header 头告诉这个资源可以缓存,一般出现在静态文件上,如果需要,请后台控制。
4、1xx 属于建立连接阶段,不会执行任何回调操作。
complete 最常见的应用就是 在这里重置资源或者关闭加载框,因为如果分别在 success 和 error 就会造成代码冗余。