在 laravel 中删除 ajax_request 中的会话

Delete Session in ajax_request in laravel

我想在用户单击注销按钮时删除 ajax 请求中的会话。但是我无法通过 ajax 请求正确删除会话。请问有什么解决方法?

$.ajax({
    type: 'POST',
    url: '/logout',
    success: function() {
        //
    }
});

这应该可以解决问题

您是否使用方法 logout 创建了控制器并提供了进入该控制器的路由?

如果没有,则在路由中添加:

Route::post('/logout', 'LogoutController@logout');

然后像下面这样创建控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
//
use Illuminate\Support\Facades\Auth;

class LogoutController extends Controller
{
    /**
    * Log the user out of the application.
    *
    * @param  \Illuminate\Http\Request  $request
    */
    public function logout(Request $request)
    {
        Auth::logout();

        $request->session()->invalidate();

        return redirect()->to('/');
    }
}

然后尝试调用 Ajax 请求,正如@NikolaGavric 所说:

$.ajax({
    type: 'POST',
    url: '/logout',
    success: function() {
        //
    }
});

它应该有效:)