在VerifyCsrfToken.php第46行中的Laravel 5,Forms,TokenMismatchException

时间:2015-03-18 10:46:33

标签: laravel laravel-5

我一直在VerifyCsrfToken.php第46行"中得到" TokenMismatchException。提交表单时出错。

这是其中一种形式:

{!! 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() !!}

名称为&#34; _token&#34;的输入元素生成并按预期设置。

奇怪的是,这只发生在Internet Explorer(IE11)中。 Chrome和FF会毫无问题地提交。

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

可能您没有在请求中将_token参数设置为服务器,或者您将其置于某个不正确的位置。