0

我正在尝试编写一个 AJAX 脚本,该脚本将使用 POST 请求将我从 Laravel 中注销:

$.ajax({
        headers: {
        'X-CSRF-Token': "{{ csrf_token() }}"
    },
    type: "POST",
    url: '/logout',

    success: function() {
        window.location.replace('https://portal.nchinc.com/?logout=timeout');
    }
});

结果是我只是被重定向,注销没有生效。我究竟做错了什么?

注意:设置 CSRF 令牌是为了避免 401 未经授权的 HTTP 响应。

谢谢你的帮助!

4

2 回答 2

0

试试看:

$.ajax({
    type: "POST",
    url: '/logout',
    data: {'_token' : "{{ csrf_token() }}"},
    success: function() {
        window.location.replace('https://portal.nchinc.com/?logout=timeout');
    }
});

您不需要设置标头,但_token需要避免 Csrf 验证失败。

于 2020-08-18T17:53:58.787 回答
0

有用

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

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});
于 2020-08-18T18:11:01.223 回答