我知道这是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 () {
答案 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');
});