如何自定义返回错误格式?返回错误码 422 使用 vuejs 如何处理呢?

问题描述:
开始返回的数据格式是这样的:
file

后来我尝试在VerificationCodeRequest 中重写 failedValidation方法
file

返回格式为
file

那么问题来了

  1. 怎样才能把status_code 改成我自己想要的key呢?
  2. 我如何自己定义错误码呢?现在返回422 vuejs 根本接不到,不知道怎么处理?

希望遇到同样问题的同学帮忙解答一下,万分感谢!!!

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

1、return response()->json([$array]) $array 存放你自定义的 key-value

2、自定义错误码,好好看文档就有。但是你遇到的问题可能并不是自定义错误码的问题,而是对于前端来说,肯定都是想:我 ajax 请求后端接口,只要请求成功了,就是200走遍天下,其实这对于 http 请求来说是不对的,因为 http code 是有自己的含义的。而对于浏览器来说,4、5 错误肯定都是会被直接拦截的。所以当你用 ajax 去请求接口的时候,应该是在 errror 中获取到返回的错误信息

$.ajax({
    error:function(data){
        console.log(data.responseText);
    }
})

实际操作看下,就能明白了

5年前 评论
讨论数量: 2

1、return response()->json([$array]) $array 存放你自定义的 key-value

2、自定义错误码,好好看文档就有。但是你遇到的问题可能并不是自定义错误码的问题,而是对于前端来说,肯定都是想:我 ajax 请求后端接口,只要请求成功了,就是200走遍天下,其实这对于 http 请求来说是不对的,因为 http code 是有自己的含义的。而对于浏览器来说,4、5 错误肯定都是会被直接拦截的。所以当你用 ajax 去请求接口的时候,应该是在 errror 中获取到返回的错误信息

$.ajax({
    error:function(data){
        console.log(data.responseText);
    }
})

实际操作看下,就能明白了

5年前 评论

下一节有这个方法,效果和你自定义failedValidation是一样的。

$this->response->error($msg, $code);
5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!