Laravel post 路由方法错误

Laravel error in post method of route

我得到了这些路线,

Route::group(['middleware' => ['web']], function () {
    //
    // Route definition for showing the login page
    Route::get('login', function() 
    {    
        // Display a placeholder text to the user
        return '<form action="login" method="post">             
                    Username: <input type="text" name="username"><br>           
                    Password: <input type="password" name="password">           
                    <input type="submit" value="Submit">                    
                </form>';       
    });

    // Route definition for processing the login form
    Route::post('login', function()
    {    
        // Display a placeholder text to the user
        return 'Username:'.$_POST["username"].',Password: '.$_POST["password"];
    });
});

当我转到 http://localhost:8000/login 时,我输入了用户名和密码,但是 route:post 产生了这个错误?

糟糕,好像出了点问题。 VerifyCsrfToken.php 第 67 行中的 1/1 TokenMismatchException:

您需要将 csrf 令牌放入您的表单中..

<form method="POST" action="login">
{{ csrf_field() }}

<input type="text" name="username">
<input type="password" name="password">

<button type="submit">Submit</button>

</form>

如果您正在发送 post 数据并且未在表单中定义 csrf 令牌,则 laravel 抛出如下异常:

Whoops, looks like something went wrong. 1/1 TokenMismatchException in VerifyCsrfToken.php line 67

如果您想删除 laravel 默认提供的 csrf 令牌功能,您只需在

中添加注释

app/Http/Kernel.php - 文件行 no:20

//\App\Http\Middleware\VerifyCsrfToken::class,

那么整个项目的 CSRF(跨站请求伪造)功能将不起作用。

但我建议你不要禁用 CSRF 保护。因为这是自动检测天气请求是 correct/safe 还是不是入侵者攻击。