繁体   English   中英

Laravel / axios 不返回响应 json 仅状态码错误

[英]Laravel / axios not returning response json only status code error

我抛出一个异常并在 handler.php 中处理它,但它没有返回消息:我的处理程序看起来像这样:

public function render($request, Exception $exception)
{
    if($exception instanceof ModelNotFoundException){
        return response()->json([ 'message' => ''.str_replace('App\\', '', $exception->getModel()).' not found.'], 404);
    }

    if($exception instanceof AuthenticationException){
        return response()->json(['message' => "Unauthorized1"], 401);
    }

    if($exception instanceof InvalidStateException){
        return response()->json(['message' => $exception->getMessage()], 400);
    }
    return parent::render($request, $exception);
}

但是更改仅在我更改状态代码而不是消息时反映。 在我的前端,我使用 axios,当我捕获异常时,其中没有 json。 这是我的消息在 chrome 中的显示方式:

POST http://127.0.0.1:8000/api/login 401 (Unauthorized)
remote.js:11 Error: Request failed with status code 401
    at e.exports (spread.js:25)
    at e.exports (spread.js:25)
    at XMLHttpRequest.d.onreadystatechange (spread.js:25)

这是我的 axios 请求:

const login = (user) => axios.post(base + 'api/login', user).catch(e => console.log(e));

它实际上来自 axios 请求,我应该这样做

catch(e => console.log(e.response));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM