我想使用POST请求将数据插入到数据库
table food_directory
id(自动增量) 名称 果糖 polylos 果聚糖
public function postDirec()
{
if (\Request::ajax()) {
$FodMaps = \Request::get('name');
\DB::table('food_directory')->insert([
'food_directory' => $FodMaps,
]);
}
}
路线
Route::post('postDirec', 'FodMapController@postDirec');
这将返回Tokenmismatch问题..请咨询
答案 0 :(得分:0)
您需要在表单中添加CSRF令牌,方法是在表单的开始和结束标记之间的某处添加此行:
{!! csrf_field() !!}
答案 1 :(得分:0)
转到App\Http\Kernel.php
并注释掉这一行
\App\Http\Middleware\VerifyCsrfToken::class,
如果您没有进行任何其他更改,那么该文件中应该是第20行。
答案 2 :(得分:0)
如果你想在某些路线上禁用csrf保护,你可以采用这种方法。
在app/Http/Middlewares/VerifyCsrfToken.php
修改handle
方法中
//disable CSRF check on following routes
$skip = [
'/your-uri/you-want-to-disable-protection-for',
route('or_some_route')
];
foreach ($skip as $route) {
if ($request->is($route)) {
return $this->addCookieToResponse($request, $next($request));
}
}
return parent::handle($request, $next);
将要禁用的uri放入skip
数组中。然后它将调用父级的addCookieToResponse
方法,该方法将CSRF令牌设置为cookie,并且请求将被视为受保护。