处理 Laravel 的 Ajax POST 请求中的 CSRF 令牌不匹配
当尝试使用 Ajax POST 请求从数据库中删除数据时,开发人员可能会遇到“csrf_token 不匹配”错误。当 Laravel 框架采用跨站请求伪造 (CSRF) 保护,并且传入请求缺少有效的 CSRF 令牌时,就会出现此问题。
要纠正此问题,在 Ajax 中合并数据参数至关重要请求并包含“_token”和“id”值。 “_token”值是一个 CSRF 令牌,用于防止未经授权的请求,而“id”值标识要删除的记录。
修改后的 Ajax 代码如下:
$('body').on('click', '.delteadd', function (e) { e.preventDefault(); if (confirm('Are you sure you want to Delete Ad ?')) { var id = $(this).attr('id'); $.ajax({ method: "POST", url: "{{url()}}/delteadd", data: { "_token": "{{ csrf_token() }}", "id": id } }).done(function( msg ) { if(msg.error == 0){ alert(msg.message); }else{ alert(msg.message); } }); } else { return false; } });
通过添加通过此数据参数,Ajax 请求可确保包含正确的 CSRF 令牌和数据,绕过“csrf_token 不匹配”错误并允许从数据库。
以上是如何解决 Laravel AJAX POST 请求中的'csrf_token 不匹配”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!