Laravel 5,表单,VerifyCsrfToken.php 第 46 行中的 TokenMismatchException

Laravel 5, Forms, TokenMismatchException in VerifyCsrfToken.php line 46

我在提交表单时总是收到 "TokenMismatchException in VerifyCsrfToken.php line 46" 错误。

这是其中一种形式:

{!! Form::model($product, array('url' => 'product/'.$product->id, 'class' => 'form', 'method' => 'PATCH')) !!}

<div class="form-group">
    {!! Form::textarea('note', $product->note,
        array('class'=>'form-control', 'id'=>'product-note', 'placeholder'=>Lang::get('customtranslation.form_placeholder_note'), 'rows'=>3)) !!}
    <br />
    <span class="btn btn-link" id="remove-note" role="button"><i class="fa fa-times"></i> {{ Lang::get('customtranslation.button_txt_reset_note') }}</span>
</div>

<div class="form-group">
    {!! Form::submit(Lang::get('customtranslation.button_txt_finish_edit_product'), array('class'=>'btn btn-success')) !!}
</div>

<div class="form-group">
    <!-- Custom tags -->
    {!! Form::label('additional-tags', Lang::get('customtranslation.form_edit_label_additional_tags')) !!}
    {!! Form::text('additional-tags','', array('id'=>'additional-tags', 'data-role'=>'tagsinput')) !!}
</div>

{!! Form::close() !!}

名称为“_token”的输入元素按预期生成和设置。

奇怪的是,这种情况只发生在 Internet Explorer (IE11) 中。 Chrome 和 FF 顺利提交。

还有其他人有这个问题和可能的解决方案吗?

可能是您没有在对服务器的请求中设置 _token 参数,或者您把它放在了不正确的地方。

Internet Explorer 拒绝来自带有下划线的域的会话。这是一个已知的问题。

请看这里:Issue with Session and Cookie in Internet Explorer for websites containing underscore

还有: http://blogs.msdn.com/b/ieinternals/archive/2009/08/20/wininet-ie-cookie-internals-faq.aspx