我尝试在我的Laravel + Vue SPA中实现JWT Auth。
在我的控制器中,我检查凭证,如
try {
if (!$token = JWTAuth::attempt($credentials)) {
return response()->json(
[
'error' => 'Invalid Credentials',
], 401
);
}
} catch (JWTException $e) {
return response()->json(
[
'error' => 'Could not create token!',
]
);
}
return response()->json(
[
'token' => $token,
]
);
我的API调用如下所示:
axios.post('/api/user/signin', payload)
.then((res) => {
console.log(res)
})
.catch((err) => {
console.log(err)
})
如果我使用payload
传递有效凭据,我会在then
块中获取令牌,并可以在控制台中记录此内容。
如果我传递无效凭据,我在控制台中收到错误:
错误:请求失败,状态码为401 在createError(app.js:10562) 在定居(app.js:21378) 在XMLHttpRequest.handleLoad(app.js:10401)
我如何得到错误"无效的凭据"?如果我从响应中删除状态代码或将其设置为200,我会收到错误"无效的凭据"。
答案 0 :(得分:1)
您可以使用response
错误键。得到回应。
axios.post('/api/user/signin', payload)
.then((res) => {
console.log(res)
})
.catch((err) => {
console.log(err.response)
})
点击此处:https://github.com/mzabriskie/axios/blob/master/UPGRADE_GUIDE.md#012x---0130