请教关于一下jquery中的ajax中的success和complete的问题

发布于 2022-09-12 01:14:47 字数 866 浏览 27 评论 0

各位前辈大家好~

这段时间在家闲着没事,学习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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谁的新欢旧爱 2022-09-19 01:14:47

1、对
3、304 是对资源的缓存,由资源返回 header 头告诉这个资源可以缓存,一般出现在静态文件上,如果需要,请后台控制。
4、1xx 属于建立连接阶段,不会执行任何回调操作。

complete 最常见的应用就是 在这里重置资源或者关闭加载框,因为如果分别在 success 和 error 就会造成代码冗余。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文