首页 >后端开发 >php教程 >如何解决 Laravel AJAX POST 请求中的'csrf_token 不匹配”错误?

如何解决 Laravel AJAX POST 请求中的'csrf_token 不匹配”错误?

Susan Sarandon
Susan Sarandon原创
2024-12-14 16:12:11674浏览

How to Solve Laravel's

处理 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn