采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
这个代码,如果post失败,比如后端系统返回该数据已经存在,如下图。则.then里的都不会执行。 好奇是不是post的情况下,必须是post成功了,才会执行.then的内容。 如果我想根据后台返回的处理结果,前台给用户弹框提示,要怎么做呢?
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 去处理失败情况
效果如下:
操作如下:先把network 那边设置成offline 然后 再去请求数据 然后 加了catch 错误就会被捕捉到
你就可以去catch 那边进行错误处理了
老师现在不维护不回答问题了吗?
这个要么是你传过去的信息有错误(可能没传过去,要么是后端处理有错误,才返回500,你可以要后端的同学打印一下你传过去的内容是否符合。 状态码以5开头,证明是服务器的那边的原因啊,不是你的代码问题
后端也是我写的呀,就是一个查询,然后如果已经存在了,就抛一个已存在的错误出来。 我只是奇怪,为什么前端无法根据这个500的返回,进行相应的处理,比如我想弹出一个toast。
因为500本来就是错误,浏览器会抛出错误,这个在Promise里面就是由rejected状态,肯定不是resovle,就不能进入到then的第一个参数里面,你可以写到第二个参数,那个是rejected状态,你可以在那里处理
返回500,证明是服务器那边地错误,这个得找后台解决好
登录后可查看更多问答,登录/注册
课程紧跟Vue3版本迭代,企业主流版本Vue2+Vue3全掌握
1.8k 20
1.5k 19
2.6k 17
1.3k 16
1.6k 15