我有一个带有文件上传输入的简单表单,该文件不转储文件输入值。
这是我的表单代码:
<!-- Modal -->
<div class="modal fade" id="app-form" tabindex="-1" role="dialog" aria-labelledby="app-form-label">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">×</span></button>
<h4 class="modal-title" id="app-form-label">Ședință foto boudoir!</h4>
</div>
{!! Form::open(['url'=>'','method'=>'POST', 'files'=>true, 'id' => 'model-form']) !!}
<div class="modal-body">
<div class="row">
<div class="col-xs-12 col-sm-6">
<div class="form-group{{ $errors->has('first_name') ? ' has-error' : '' }}">
{!! Form::label('first_name', 'Nume') !!}
{!! Form::text('first_name', '', ['class' => 'form-control']) !!}
@if ($errors->has('first_name'))
<span class="help-block">
<strong>{{ $errors->first('first_name') }}</strong>
</span>
@endif
</div>
</div>
<div class="col-xs-12 col-sm-6">
<div class="form-group{{ $errors->has('last_name') ? ' has-error' : '' }}">
{!! Form::label('last_name', 'Prenume') !!}
{!! Form::text('last_name', '', ['class' => 'form-control']) !!}
@if ($errors->has('last_name'))
<span class="help-block">
<strong>{{ $errors->first('last_name') }}</strong>
</span>
@endif
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-6">
<div class="form-group{{ $errors->has('age') ? ' has-error' : '' }}">
{!! Form::label('age', 'Vârsta') !!}
{!! Form::text('age', '', ['class' => 'form-control']) !!}
@if ($errors->has('age'))
<span class="help-block">
<strong>{{ $errors->first('age') }}</strong>
</span>
@endif
</div>
</div>
<div class="col-xs-12 col-sm-6">
<div class="form-group{{ $errors->has('sex') ? ' has-error' : '' }}">
{!! Form::label('sex', 'Vârsta') !!}
{!! Form::select('sex', ['M' => 'Masculin', 'F' => 'Feminin'], null, ['class' =>
'form-control',
'placeholder' =>
'-- Selectează --']) !!}
@if ($errors->has('sex'))
<span class="help-block">
<strong>{{ $errors->first('sex') }}</strong>
</span>
@endif
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-6">
<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
{!! Form::label('email', 'Email') !!}
{!! Form::email('email', '', ['class' => 'form-control']) !!}
@if ($errors->has('email'))
<span class="help-block">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
</div>
<div class="col-xs-12 col-sm-6">
<div class="form-group{{ $errors->has('phone') ? ' has-error' : '' }}">
{!! Form::label('phone', 'Telefon') !!}
{!! Form::text('phone', '', ['class' => 'form-control']) !!}
@if ($errors->has('phone'))
<span class="help-block">
<strong>{{ $errors->first('phone') }}</strong>
</span>
@endif
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group{{ $errors->has('details') ? ' has-error' : '' }}">
{!! Form::label('details', 'Detalii') !!}
{!! Form::textarea('details', '', ['class' => 'form-control', 'rows' => 10]) !!}
@if ($errors->has('details'))
<span class="help-block">
<strong>{{ $errors->first('details') }}</strong>
</span>
@endif
</div>
</div>
</div>
{!! Form::label('image', 'Fotografii Reprezentative') !!}
{!! Form::file('image') !!}
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-warning card-2">Trimite Datele</button>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
<!-- /End Modal -->
我使用ajax编写以下代码:
<script>
(function () {
$('#model-form').submit(function (e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: 'store',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function (response) {
console.log($('#image').val());
}
});
});
})();
</script>
现在不要问我为什么要在ajax中设置csrf-token标头,这是另一个问题,但是现在,问题是我提交表单后执行了$ _POST和$ _FILES转储,我拥有所有的值除图像文件上传数据外的表格。我正在用这个把头发拔出来,所以请帮助我!
enctype=multipart/form-data
每当您尝试以这种形式发送文件数据时,都应该使用:
<form action="" method="POST" enctype="multipart/form-data">
</form>
您可以使用laraveldd()
方法在控制器内部转储输入,如下所示:
dd(request()->all());
希望这可以帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句