jeudi 24 décembre 2015

Does _token value of forms change during several post Ajax request?

I have a very strange problem with TokenMismatchException in my laravel 5.1 application. I'm sending a form data separately.First I'm posting data fields, then file input fields One after another.The process is sequential for a request. The problem is that some of the time(!) it throws TokenMismatchException.

I tested it with smaller and larger files. for smaller ones it is working fine.But for files larger than 10MB it fails.(due to that exception).

Is it possible that during longer upload files the _token value of form change? if yes then how should i know that? and how to know what is new value?

{!! Form::open(['action' => 'someController@postCreate','enctype'=>'multipart/form-data']) !!}
        <div class="row update-assetItems">
            <div class="input-group update-Items">
                <span class="input-group-addon"><i class="fa fa-plus fa-fw"></i></span>
                <div>
                    <span class="input-group-addon" style="font-size:1.5em;float: left;width: 100%;"><i class="fa fa-wrench fa-fw"></i>|<i class="fa fa-gamepad fa-fw"></i></span>
                </div>
            </div>
            <div class="input-group update-Items">
                <span class="input-group-addon"><i class="fa fa-pencil fa-fw"></i></span>
                {!! Form::text('name',null,['class'=>'form-control english persian', 'placeholder'=>'نام محصول | بازی']) !!}
            </div>
            <div class="input-group update-Items">
                <span class="input-group-addon"><i class="fa fa-file-image-o fa-fw"></i></span>
                <img class="img-thumbnail" style="width:90px;margin-left:10px;height:90px;" src='miscAssets/assetSampleImage.jpg' alt="assets Image"/>
                <div>
                    <label class="persian" style="float:right;font-size: 12px !important;color:white;">انتخاب لوگو</label>
                    {!! Form::input('file','picture',null,['class'=>'btn-check', 'style'=>'width: 100%;float:left;' ,'accept'=>'image/jpeg,image/x-png,image/png']) !!}
                </div>
                <div class="input-group update-Items upload-bar">
                    <div style="margin: 0;"></div>
                </div>
            </div>
            <div class="input-group update-Items">
                <span class="input-group-addon"><i class="fa fa-map-signs fa-fw"></i></span>
                <div class="assetSwitch">
                    <div onclick="document.getElementById('GameType').checked = true;">
                        {!! Form::radio('type','Asset' ,true,['id'=>'GameType']) !!}Asset
                        <select class="form-control english metroSelect-en">
                        </select>
                    </div>
                    <div style="float: left;border-top:0;" onclick="document.getElementById('AssetType').checked = true;">
                        {!! Form::radio('type','Asset' ,false,['id'=>'AssetType']) !!}Game
                        <br/>
                        <label class="persian">انتخاب فایل فشرده بازی</label>
                        <div class="input-group update-Items" style="width: 95%;padding-top: 5px;" title="آپلود فایل فشرده">
                            <span class="input-group-addon"><i class="fa fa-file-archive-o"></i></span>
                            <div>
                                {!! Form::input('file','picture',null,['id'=>'newAssetZip','class'=>'btn-check', 'style'=>'padding-top: 2px;width:100%;float:left;' ,'accept'=>'application/x-zip-compressed']) !!}
                            </div>
                            <div class="input-group update-Items upload-bar">
                                <div style="margin: 0px;"></div>
                            </div>
                        </div>
                        <label class="persian">انتخاب تصاویری از بازی</label>
                        <div class="input-group update-Items" style="width: 95%;padding-top: 5px;" title="آپلود تصویر های بازی">
                            <span class="input-group-addon"><i class="fa fa fa-picture-o"></i></span>
                            <div>
                                {!! Form::input('file','picture',null,['id'=>'newGameImages','class'=>'btn-check', 'style'=>'padding-top: 2px;width:100%;float:left;' ,'accept'=>'image/x-png, image/jpeg','multiple'=>'multiple']) !!}
                            </div>
                            <div class="input-group update-Items upload-bar">
                                <div style="margin: 0;"></div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="input-group update-Items">
                <span class="input-group-addon"><i class="fa fa-money fa-fw"></i></span>
                {!! Form::text('price',null,['class'=>'form-control english persian', 'style'=>'direction:rtl;text-align: right;','placeholder'=>'بهای محصول', 'title'=>'بهای صفر برابر رایگان تلقی میشود.']) !!}
            </div>
            <div class="input-group update-Items">
                <span class="input-group-addon"><i class="fa fa-pencil fa-fw"></i></span>
                {!! Form::textarea('description',null,['rows'=>'3', 'class'=>'form-control english persian','style'=>'min-width: 310px !important;max-width: 310px !important;direction:rtl;text-align: right;', 'placeholder'=>'توضیحات']) !!}
            </div>
            <div class="input-group update-Items">
                <span class="input-group-addon"><i class="fa fa-check-square-o fa-fw"></i></span>
                <div>
                    <div id="uploadAsset" class="btn-check" style="float: left;width: 274px;" onclick="submitForm(this);" title="تایید">
                        <span class="input-group-addon persian"><i class="fa fa-check"></i></span>
                    </div>
                    <div class="btn-check" style="float: left;width: 36px;" onclick="resetForm(this);" title="ریست فرم">
                        <span class="input-group-addon persian"><i class="fa fa-repeat"></i></span>
                    </div>
                </div>
            </div>
        </div>
    {!! Form::close() !!}



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire