VerifyCsrfToken.php第67行中的TokenMismatchException使用Route :: post()

时间:2016-06-01 03:06:56

标签: php laravel laravel-5

我知道这是Laravel 5.x的一个常见问题,但我对该问题的特别介入是而不是通过提交表单。 相反,我使用postman将数据发送到URL端点以测试数据是否已成功接收。我正在使用Laravel 5.2,我非常擅长它!

这是我的routes.php文件(相关内容)

Route::group(['middleware' => 'web'], function () {
    Route::post('/cart', 'CartController@buildcart');
});

这是我的CartController.php(整个文件)

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

class CartController extends Controller
{
    public function buildcart(){
        echo 'hello';
    }
}

就这么简单,当我使用邮递员将随机数据发送到/ cart网址时,我得到了

TokenMismatchException in VerifyCsrfToken.php line 67:

任何人都可以帮助我理解为什么会失败吗?我没看到如何使用

{{ csrf_token() }}

是这种情况的解决方案,因为数据来自外部源。

运行我尝试过的事情列表

  • Route::group(['middleware' => 'web'], function () {
  • 删除路线
  • 使用Route::group(array('before' => 'csrf', ['middleware' => 'web']), function () {

2 个答案:

答案 0 :(得分:1)

尝试将路线添加到此路线组

  Route::group(array('before' => 'csrf', ['middleware' => 'web']), function () {

 Route::post('/cart', 'CartController@buildcart');

 });

编辑:尝试在app \ kernel.php

中评论此行
   protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        //       \App\Http\Middleware\VerifyCsrfToken::class,
    ],

    'api' => [
        'throttle:60,1',
    ],
];

答案 1 :(得分:0)

尝试更改routes.php文件中的中间件。我认为,由于您无权使用该路线,您将收到错误。试试这个:

Route::group(['middleware' => 'guest'], function () {
    Route::post('/cart', 'CartController@buildcart');
});