【发布时间】:2018-07-11 05:11:00
【问题描述】:
我遇到了有史以来最奇怪的错误,不知道从哪里开始调试。我有一个表格,用于向客户发送一些电子邮件。此表单通过 ajax 提交到服务器并返回响应。
$.post('{{ route('some.route') }}', $('#check-form').serialize(), function (data) {
buildNotification('Success', "Sent email, 'success');
doAction('reset', true);
}).fail(function (err) {
buildNotification('Error!!!', err.message !== undefined ? err.message : "Failed sending email", 'danger');
doAction('reset', true);
});
我还在我的表单中设置了{{ csrf_field() }},如果我在网络选项卡中检查 Chrome 开发工具,我可以看到 `_token' 字段已设置。
问题是当我提交请求时,来自服务器的响应是TokenMismatchException 的 HTML。我禁用了指定路由的令牌验证,我仍然得到一个 TokenMismatchException..
在此之后,如果我刷新页面,我会再次重定向到登录页面(所以我猜会话会以某种方式被破坏)。我搜索了所有我能找到的东西,但似乎没有任何东西适用于我的情况。
我注意到的另一件事是,我只有在 Chrome(在我的情况下为 Chromium)上运行时才会出现这种行为。还尝试了隐身模式,因为我认为某些扩展可能会导致错误,但不,仍然是同样的问题。
关于如何解决此问题的任何想法?
【问题讨论】:
标签: php jquery ajax laravel laravel-5.4