语境
使用 Postman,我将以下字段发送到 URL 以在数据库中注册用户http://mywebsite/register:
电子邮件
密码
确认密码
姓名
根据文档https://laravel.com/docs/8.x/fortify#registration(我从中找到了上述字段),Fortify 已经定义了路由register,所以我不需要自己定义。
根据文档,根据我的需要,我不需要创建注册表单:我直接使用 Postman 将这些注册数据/register作为 XHR POST 请求数据发送到 Laravel Fortify 的路由。此外,我不需要 Fortify 来返回视图,所以我禁用了它们(https://laravel.com/docs/8.x/fortify#disabling-views)。事实上,我只是等待我将在 Postman 的返回数据中看到的 HTTP 代码响应(见下文)。
Fortify 应该返回什么
因为我已经禁用了视图并且因为我发送了一个 XHR POST 请求(在 Postman 中,我将这个 HTTP 标头与注册请求一起发送:)X-Requested-With = XMLHttpRequest:
如果注册尝试成功,Fortify 会将用户重定向到通过应用程序的 fortify 配置文件中的 home 配置选项配置的 URI。如果登录请求是 XHR 请求,将返回 200 HTTP 响应。
如果请求不成功,用户将被重定向回注册屏幕,验证错误将通过共享的 $errors Blade 模板变量提供给您。或者,在 XHR 请求的情况下,验证错误将返回 422 HTTP 响应。
(https://laravel.com/docs/8.x/fortify#registration)
Fortify 实际返回的内容
它正确地注册了用户。但是我在 Postman 中看到的结果是Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException. 事实上,Fortify 正试图进入主视图。
问题
为什么 Fortify 似乎仍在尝试访问返回的视图路由(未定义,因为我不需要它们),因为我的请求正确地是 XHR POST 请求并且我已经禁用了 Fortify 配置文件中的视图?