我的代码,我昨天测试并正常工作,现在不工作。我已经有了一些结果,通过尝试读取错误信息。
首先,我想说这是一个登录过程。使用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.