我正在使用laravel 5.1,它在localhost上工作,但没有在服务器上获取错误
VerifyCsrfToken.php第53行中的TokenMismatchException:
这是我的代码链接
https://www.itextpad.com/XMkKhqCnof
帮帮我
答案 0 :(得分:2)
您必须拥有(通常是隐藏的)CSRF令牌字段作为表单的一部分,因此只需添加
即可{{ csrf_field(); }}
在你的形式的某个地方,Laravel将完成其余的工作。
答案 1 :(得分:1)
确保您的/* Pseudo */
for (let replacement of ['first', 'second']) {
str.replace("{.*}", replacement);
}
版面上有这个元标记:
admin.blade.php
希望这会对你有所帮助。
答案 2 :(得分:0)
由于您正在使用表单构建器,请从表单中删除它。执行Form::open()
<input type="hidden" name="_token" value="{{ csrf_token() }}">
答案 3 :(得分:0)
如果你想在javascript中使用CSRF令牌,我们主要推荐的是将meta和来自meta的调用放在一起,这将与laravel 5.3及以上版本一起使用。
<meta name="csrf-token" content="{{ csrf_token() }}">
如何使用它?
如果您使用5.3或更高版本,您可以使用token
来获取不是魔法的csrf_token,您可以看到laravel已使用此代码在bootstrap.js中声明它
let token = document.head.querySelector('meta[name="csrf-token"]');
如果你低于ver。 5.3可以使用上面的代码来获取csrf令牌
也许问题不是来自csrf令牌我怀疑是你的数据中的javascript无法正常运行尝试使用new FormData()
而非希望有帮助。