VerifyCsrfToken.php中的TokenMismatchException,而JQuery Ajax

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

下面是Blade中的代码。

<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')
    }
});