Laravel axios 没有正确发送数据到后端 Returns 422 状态码

Laravel Axios Doesn't Send Correctly Data to Backend Then Returns 422 Status Code

我昨天测试并正常运行的代码现在无法运行。我通过尝试阅读错误消息得到了一些结果。

首先我想说这是一个登录过程。使用 Axios,我接收表单中的数据并将其发送到后端,如果一切正确,我登录并将其重定向到仪表板。一个经典的登录流程。

今天想登录开发新东西,看到返回错误码422,在服务端打印传入的数据时,看到这样的:

// $request->all(); result
Array
(
    [------WebKitFormBoundary0OBe87BBjSLuzX6z
Content-Disposition:_form-data;_name] => "email"

example@example.com
------WebKitFormBoundary0OBe87BBjSLuzX6z
Content-Disposition: form-data; name="password"

example.123!
------WebKitFormBoundary0OBe87BBjSLuzX6z--
)

// Laravel Error
{"message":"The given data was invalid.","errors":{"email":["The email field is required."],"password":["The password field is required."]}}

我大约三个月没有对系统的这一部分进行任何更改或更新任何内容。所以我不明白为什么它不起作用。但是javascript这边form元素来错了,axios请求发送成功。这是我准备表格的地方:

let data = new FormData(form);
axios.post(url, data).then(function (response){
...
}

当我检查 Axios 版本时(我通过 CDN 使用它),我发现这是由于 v0.27.1 版本中的错误。但是,当我从官方CDN链接查看Unpkg时,看到它已经升级到最新版本,当我包含Unpkg cd进行测试时,问题就解决了。

此版本修复了问题:https://github.com/axios/axios/releases/tag/v0.27.2