POST,PUT和DELETE方法请求失败

时间:2015-03-14 17:16:39

标签: php ajax laravel-5 csrf-protection

我正在使用Laravel 5的RESTful API进行一些测试。我使用命令UserController创建了php artisan make:controller UserController控制器,并更新routes.php,如下所示:

Route::group(['prefix' => 'api'], function()
{
    Route:resource('user', 'UserController');
    Route::group(['prefix' => 'user'], function()
    {
        Route::get('', ['uses' => 'UserController@index']);

        Route::get('{id}', ['uses' => 'UserController@show']);

        Route::post('', ['uses' => 'UserController@create']);

        Route::put('{id}', ['uses' => 'UserController@edit']);

        Route::delete('{id}', ['uses' => 'UserController@destroy']);

    });
});

测试时,唯一的工作方法是GET,其他方法无法抛出此异常:

TokenMismatchException in compiled.php line 2440:

如果你能帮我解决这个问题,我将不胜感激,谢谢你。

1 个答案:

答案 0 :(得分:0)

POSTPUTDELETE方法需要CSRF令牌。您需要将其包含在您的页面中。

{!! Form::token() !!}

此外,如果您使用Form::open()并将上面列出的方法之一作为参数传递,则会自动包含CSRF令牌。