VerifyCsrfToken.php中的TokenMismatchException,而JQuery Ajax
下面是Blade中的代码。VerifyCsrfToken.php中的TokenMismatchException,而JQuery Ajax,php,laravel-5,laravel-5.1,Php,Laravel 5,Laravel 5.1,下面是Blade中的代码。 <input type="hidden" name="_token" value="<?php echo csrf_token(); ?>"> @foreach($Projects as $Project) <tr> <td> @if($Project->ProjectStatusID == \App\Enumeration\Project\ProjectStatu
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
@foreach($Projects as $Project)
<tr>
<td>
@if($Project->ProjectStatusID == \App\Enumeration\Project\ProjectStatus::Open)
<a pid="{!! $Project->ProjectID !!}" class="Shutmedown" >Cancel</a>
@endif
</td>
</tr>
@endforeach
有什么问题吗?
JQuery Ajax给出了错误:
加载资源失败:服务器响应状态为500
(内部服务器错误)
在检查有关请求的更多详细信息时:我得到了以下错误详细信息。
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
@foreach($Projects as $Project)
<tr>
<td>
@if($Project->ProjectStatusID == \App\Enumeration\Project\ProjectStatus::Open)
<a pid="{!! $Project->ProjectID !!}" class="Shutmedown" >Cancel</a>
@endif
</td>
</tr>
@endforeach
VerifyCsrfToken.php第53行中的令牌不匹配异常:
我遗漏了什么吗?您好,从Laravel文档开始,必须使用头将令牌注入ajax请求的后端。因此,他们建议将令牌放在元字段中,例如
<meta name="csrf-token" content="{{ csrf_token() }}">
通过标头将令牌发送到后端
我希望有帮助
因此,在您的例子中,在ajax请求中传递保存令牌的输入值。看一看
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN' : $('meta[name="csrf-token"]').attr('content')
}
});