首页 >后端开发 >php教程 >如何修复 AJAX POST 请求中 Laravel 的 CSRF 令牌不匹配错误?

如何修复 AJAX POST 请求中 Laravel 的 CSRF 令牌不匹配错误?

DDD
DDD原创
2024-12-09 11:49:09667浏览

How to Fix Laravel's CSRF Token Mismatch Error in AJAX POST Requests?

AJAX POST 请求的 Laravel CSRF 令牌不匹配

当尝试使用来自 HTML 锚点元素的 AJAX POST 请求删除数据时,您可能会遇到以下情况:如果请求缺乏必要的安全性,则会遇到“CSRF 令牌不匹配”错误

下面是一个改进的 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){
                //$('.sucess-status-update').html(msg.message);
                alert(msg.message);
            }else{
                alert(msg.message);
                //$('.error-favourite-message').html(msg.message);
            }
        });
    } else {
        return false;
    }
});

通过在数据属性中包含请求的令牌和 ID,您可以确保 CSRF 保护运行正如预期的那样。这保证了请求是真实的并且源自您的应用程序。

以上是如何修复 AJAX POST 请求中 Laravel 的 CSRF 令牌不匹配错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

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