我尝试使用ajax创建img上传。 我使用插件https://github.com/Vinelab/mr-uploader,我得到CSRFTokenMismatchException。 通过在verifyCsrf
上添加路由到$ execpet,我已经解决了这个问题class VerifyCsrfToken extends BaseVerifier
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
'/admin/upload'
];
}
自从第一次将整个项目从laravel 5.1(长篇故事,我不得不这样做)重新回到laravel 5以来解决这个问题 现在问题出现了agian。 当我尝试向该路线发送帖子请求时,我得到了“TokenMismatchException'。
答案 0 :(得分:1)
方法1:禁用CSRF保护
在VerifyCsrfToken.php中添加以下代码
检查csrf令牌时将忽略此路由。
public function handle($request, Closure $next)
{
//disable CSRF check on following routes
$skip = array(
'/admin/upload',
);
foreach ($skip as $key => $route) {
//skip csrf check on route
if($request->is($route)){
return parent::addCookieToResponse($request, $next($request));
}
}
return parent::handle($request, $next);
}
方法2:在ajax请求中添加CSRF TOKEN
var token = "{{ csrf_token() }}";
$.ajax({
type : "POST",
url : "/admin/upload",
data : {_token:token},
});