服务器响应状态为 400 () Laravel 和 Vue js?
Posted
技术标签:
【中文标题】服务器响应状态为 400 () Laravel 和 Vue js?【英文标题】:The server responded with a status of 400 () Laravel and Vue js? 【发布时间】:2021-01-28 10:22:04 【问题描述】:这很奇怪,我正在用 Laravel 和 Vue js 构建一个 SPA。我正在使用 Laravel Passport 和 JWT 进行身份验证。突然之间,当我提交任何表单时,我的验证错误都没有显示。我不断收到此错误:
Failed to load resource: the server responded with a status of 400 ()
如果您填写表单并单击提交,应用程序中的一切仍然有效,我会看到成功消息,并且数据会保存在数据库中。我不知道是什么原因造成的,起初我认为这与我实现的 Recaptcha 代码有关,但现在,我不能 100% 确定这是问题所在,因为我删除了所有相关代码并试图再次提交我的表单,仍然得到400 error
。
我知道这些细节非常模糊,但如果有人知道这可能与它有什么关系,将不胜感激。
谢谢。
【问题讨论】:
400 错误意味着错误的请求,您需要检查您发送的有效负载是什么以及为什么服务器无法处理它 【参考方案1】:如果您使用 API 调用,则需要返回 JSON 错误句柄。
用于验证的 Laravel 默认错误处理是通过刀片抛出异常,您可以使用 $errors
访问它
如果您想进行自己的验证,请使用 validator
外观。
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request;
public function store(Request $request)
$validation = Validator::make($request->all(), [
'name' => 'required',
'email' => 'required',
'password' => 'required',
]);
if($validation->fails())
return response()->json([
'status' => 'failed',
'message' => $validation->errors(),
], 400);
【讨论】:
【参考方案2】:感谢那些评论或回答的人。我确实想通了。我在 Exceptions/Handler.php 文件中添加了几个函数。我基于免费的 Youtube 课程构建了这个 SPA,并在学习了 Udemy 上的另一门付费课程后,获取了放在 Handler.php 文件中的代码。我不认为这些功能会造成任何伤害,但确实如此。删除它们后,一切正常并恢复正常。谢谢。
【讨论】:
以上是关于服务器响应状态为 400 () Laravel 和 Vue js?的主要内容,如果未能解决你的问题,请参考以下文章
Steam 发布请求 - 加载资源失败:服务器响应状态为 400(错误请求)
我尝试使用 passport.js 对用户进行身份验证,但它给了我一个错误**服务器响应状态为 400(错误请求)**
当 url 响应状态代码为 400 时如何使用 C# .Net Core 5 Blazor 服务器端应用程序中的中间件重定向到主页