4 回答
TA贡献1807条经验 获得超9个赞
我曾经在 cPanel 中托管时遇到过同样的错误,并花了我将近 3 天的时间才找到适合我的案例的解决方案。我不知道这是否适合您,但请尝试一下。
在 public 文件夹内的主 index.php 文件中,对其进行编辑,并在启动 PHP 标签后在最顶部写入
ob_start()
该函数将获取输出缓冲区的内容并返回一个要发送到浏览器进行渲染的字符串,并删除启动 PHP 之前放置的空格或换行符。
另外,请尝试按照评论中的建议清除缓存。
让我知道这是否也对您有帮助。
TA贡献1890条经验 获得超9个赞
将以下行添加到 head 标记中。
<meta name="csrf-token" content="{{ csrf_token() }}"> // Add in <head></head>
然后在 Laravel 中就可以获取到这个 content 属性了。另外,在脚本标记中添加以下代码(这是为了确保在提交表单时获得正确的csrf_token)。
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
TA贡献1829条经验 获得超13个赞
我遇到了同样的问题,在 Laravel 7 中收到“CSRF 令牌不匹配”异常,并修复了其他所有内容,例如在页面标题上设置 csrf 令牌、在 ajax 请求中、清除缓存、任何您能想到并且通常可以在其中找到的内容解决方案建议。
所以,如果有人遇到这个问题,我在其他地方还没有找到这个解决方案,这确实花了我几个小时。
我在错误的 URL 上调用了该应用程序!
我按字面意思使用了我的本地 IP,而不是使用“localhost”这个词。
因此,如果您在本地开发,并使用您的 IP 调用您的应用程序,请尝试在 http://localhost 上调用它!
TA贡献1875条经验 获得超5个赞
我遇到了这个问题。我在 Laravel 文档本身中找到了解决方案。
$csrf我们可以在表单元素后面添加
<form method="POST" action="/profile">
@csrf
//input fields here
</form>
- 4 回答
- 0 关注
- 200 浏览
添加回答
举报