axios做post请求后,如果返回的是500,则后面的.then方法块不会执行

来源:7-9 Vue项目首页 - 使用 axios 发送 ajax 请求

arthur_ju

2020-05-04

图片描述
这个代码,如果post失败,比如后端系统返回该数据已经存在,如下图。则.then里的都不会执行。
好奇是不是post的情况下,必须是post成功了,才会执行.then的内容。
如果我想根据后台返回的处理结果,前台给用户弹框提示,要怎么做呢?图片描述

写回答

3回答

云风眠

2020-05-20

axios.get('/user?ID=12345')
 .then(function (response) {
   // handle success
   console.log(response);
 })
 .catch(function (error) {
   // handle error
   console.log(error);
 })
 .then(function () {
   // always executed
 });

这是我从axios 文档那边拿过来的 希望对你有帮助 失败的话应该会跳到catch那边

我自己这边验证是可以的

代码如下: 加了catch 去处理失败情况

//img.mukewang.com/szimg/5ec4fc50094806e108410546.jpg

效果如下: 

//img.mukewang.com/szimg/5ec4fc0909eb7bd614270765.jpg

操作如下:先把network 那边设置成offline 然后 再去请求数据 然后 加了catch 错误就会被捕捉到

你就可以去catch 那边进行错误处理了 

0
0

arthur_ju

提问者

2020-05-08

老师现在不维护不回答问题了吗?

0
5
arthur_ju
好的,我试下。谢谢老师
2020-05-09
共5条回复

呀呀呀亚歌

2020-05-04

返回500,证明是服务器那边地错误,这个得找后台解决好

0
0

Vue2.5-2.6-3.0开发去哪儿网App 零基础入门到实战

课程紧跟Vue3版本迭代,企业主流版本Vue2+Vue3全掌握

10675 学习 · 8191 问题

查看课程