我使用 Laravel 5.7.16 和 Angular2 创建了一个应用程序,并且在我的本地主机中一切正常。
但是,在实时服务器上,我在提交发布请求时收到“419 错误”。经过一些研究,我得出结论,这可能是由于 XSRF-TOKEN 的问题。然后,当比较我的本地主机和实时服务器上发生的事情时,我注意到实时服务器没有在初始请求上设置 XSRF-TOKEN cookie。
我没有在我的 Angular2 HTTP 发布请求上明确设置 XSRF-TOKEN,但据我了解,只要 XSRF-TOKEN cookie 最初由服务器端应用程序设置,Angular2 就会自动执行此操作。
有人对我如何解决这个问题有任何想法吗?
编辑:我刚刚尝试将我的应用程序发布路由之一添加到VerifyCsrfToken 的$except 数组中,并且有效。但是,这更多的是一种解决方法,而不是实际的解决方案。有趣的是,在执行了“允许”的路由之后,XSRF-TOKEN 被返回,其他所有路由都正常工作。我认为这强化了这样一种想法,即问题在于 XSRF-TOKEN 没有在初始应用程序加载中返回。为什么会这样?
谢谢你。