"message": "CSRF token mismatch.",
- 由于 Laravel 框架中的 CSRF 中间件检测到请求中传递的
_token参数与 Session 中存储的 token 值不匹配,从而导致请求被拒绝。这种安全机制可以避免 CSRF 攻击,也就是通过伪造页面提交 POST 请求来实现操作。 - 解决方案:发送 AJAX 请求时,同时将当前页面的
_token值作为参数一同传递给后端:data: { "_token": $('input[name=_token]').val(), "data": uniqueIds },在发送请求时,需要将请求类型改为 POST。
$('meta[name="csrf-token"]').attr('content')表示获取当前页面的_token值。需要注意的是,如果在 blade 视图文件中使用了csrf_field方法,那么在页面中会自动生成一个名为_token的隐藏输入框,并且其值就是当前页面的 CSRF token。在这种情况下,我们可以通过$('input[name=_token]').val()获取到 CSRF token 值。