php - CSRF token 不匹配 Laravel ajax 删除数据

标签 php ajax laravel laravel-6

我想使用 ajax 调用从数据库中删除数据,但它显示错误。

CSRF token mismatch

在标题中:

<meta name="csrf-token" content="{{ csrf_token() }}">

在 Blade 中:

<button class="deletePhoto" data-id="{{ $photo->id }}" data-token="{{ csrf_token() }}">Delete</button>

AJAX 调用:

$('.deletePhoto').click(function () {

    var id = $(this).data('id');
    var el = this;

    $.ajaxSetup({
       headers:{
           'X_CSRF_TOKEN': $('meta[name="csrf-token"]').attr('content')
       }
    });
    $.ajax({
        url: '/photo/delete/'+id,
        type: 'DELETE',
        dataType: 'JSON',
        data:{
            'id': id,
        },
        success: function () {
            $(el).closest(".photo-details").remove();
            console.log('DELETED');
        },
        error: function (xhr) {
            console.log(xhr.responseText);
        }
    })
})

Controller :

public function destroy($id)
{
    $photo = Photo::find($id);
    $photo->delete();

}

最佳答案

这就是我通常做的事情:[AJAX CALL]

 $.ajax({
    url: '/photo/delete/'+id,
    type: 'DELETE',
    dataType: 'JSON',
    data:{
        'id': id,
        '_token': '{{ csrf_token() }}',
    },
    success: function () {
        el.closest(".photo-details").remove();
        console.log('DELETED');
    },
    error: function (xhr) {
        console.log(xhr.responseText);
    }
})

关于php - CSRF token 不匹配 Laravel ajax 删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58152810/

相关文章:

javascript - 1.10.2/jquery.min.js 下无法执行 JSON.parse()

php - "INSERT into"不工作

javascript - node.js 'non blocking' future 是否与常规网站相关?

javascript - 如何发送响应到ajax但保留procces php脚本

php - Laravel 4.2 多对多关系 : Can't read from pivot table

mysql - laravel 5.8 连接第二个数据库时出错

javascript - 将 php 数组发送到 jquery ajax 并从该数组进行每个循环

php - 获取xml中的特定节点?

javascript - 如何通过ajax将输入数据传递给另一个php?

javascript - 使用单选按钮 mvc 设置我的表格的显示