总的来说,几天前我在 laravel10 + vuejs3 上创建了一个应用程序。今天我写了一份授权说明并留下了请求,一切正常。安装扩展以使用jwt后,我将授权重写为:
public function login(LoginRequest $request): JsonResponse
{
$credentials = $request->only('email', 'password');
$token = Auth::attempt($credentials);
if ($token === false) {
return response()->json([
'status' => 'error',
'message' => 'Unauthorized',
], 401);
}
$user = Auth::user();
return response()->json([
'status' => 'success',
'user' => $user,
'authorisation' => [
'token' => $token,
'type' => 'bearer',
]
]);
}
答案开始下降,出现 500 错误,
"Malformed UTF-8 characters, possibly incorrectly encoded"
错误本身指向这里。
file:"D:\\OpenServer\\domains\\my_project\\testLara\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\JsonResponse.php"
line: 88
有谁知道如何解决这个问题?
从错误来看,它无法消化数组,作为建议,只需使用调试器检查它
但是,正如我所见,问题很可能出在 $user 变量中,尝试显式指定 $user->toArray() 或 json,为了测试,您可以只从模型中获取名称,例如Auth::user( )->命名或删除用户的行 应该有帮助
事实证明问题完全不同。在我推出插件后,它稍微改变了我的环境,或者更确切地说只是在那里添加了几行,但不仅我与数据库的连接丢失了,所以抛出了这些错误,如果具体来说它只改变了 DB_HOST 和 DB_PASSWORD ,其他一切都一样,为 jwt 添加了 2 行。