Laravel - React,强制 Axios 进行拒绝/捕获
Posted
技术标签:
【中文标题】Laravel - React,强制 Axios 进行拒绝/捕获【英文标题】:Laravel - React , Forcing Axios for reject/catch 【发布时间】:2018-11-30 05:34:29 【问题描述】:我有一个Laravel
API,它向当前用户发送 JSON UserObject
(如果已登录)或None
/空白结果(如果没有当前用户)。
前端是 React with axios 从 API 获取数据。
Axios.get('/api/user/current')
.then((response) =>
)
.catch((error)=>
alert('Login Failed '+ error);
);
因为Axios
是一个promise,它要么解析要么拒绝。
如果我在 API 中发送一个空白值,它仍然会被视为解析。
如果 API 中没有当前用户,我如何强制 axios
拒绝。
我可以在响应回调中使用if
..else
来区分用户和访客,但我只是想知道它是否可以强制捕获。
【问题讨论】:
【参考方案1】:如果您不想发回任何数据,您应该以 204 状态响应。如果该特定资源不存在,甚至更好的是 404。
404 将被 axios 视为拒绝。
【讨论】:
【参考方案2】:您可以使用 axios interceptors 修改请求和响应。
【讨论】:
以上是关于Laravel - React,强制 Axios 进行拒绝/捕获的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 资源控制器 DELETE 使用 Axios 抛出 405
Axios CORS/Preflight 因 Laravel 5.4 API 调用而失败