【发布时间】:2016-09-18 09:36:30
【问题描述】:
当我尝试使用 ajax 上传文件时,$file 为空。
我试过了:
$file = Input::file('image'); $file= $request->file('image');
jQuery:
$(document).on('submit', '#update_form', function(e){
e.preventDefault(e);
$.ajax({
type: "POST",
url: '{{route('admin/users/update')}}',
data: $(this).serialize(),
dataType: 'json',
success: function (data) {
$('.error').fadeOut();
success(data);
load_data('{{route('admin/users/edit')}}', '{{ $user->id }}', '{{ $user->part }}');
},
error: function (data) {
$('.success').fadeOut();
errors(data);
}
})
});
控制器:
public function updateUser(Request $request){
//$file = Input::file('image');
$file= $request->file('image');
return \Response::json( $file );
}
路线:
Route::post('admin/users/update', ['as' => 'admin/users/update', 'uses' => 'admin\UserController@updateUser']);
表格:
{!! Form::model($user, ['id' => 'update_form', 'files' => true]) !!}
<div class="col-md-12">
<div class="form-group">
{{ Form::label(trans('User image')) }}
{!! Form::file('image', null,['class' => 'form-control', 'placeholder' => trans('Image')]) !!}
</div>
{{ Form::hidden('id') }}
{{ Form::hidden('part', app('request')->input('part')) }}
{!! Form::submit(trans('Save changes'), ['class' => 'pull-right btn btn-success submit', 'id' => 'submit' ]) !!}
</div>
{!! Form::close() !!}
响应为空或:{}
回复图片:
https://gyazo.com/04e431f16237dfada40c864df96ad412
谢谢!
【问题讨论】:
-
你需要一个 jQuery 插件来通过 AJAX 上传文件(比你自己的实现更简单),查看blueimp.github.io/jQuery-File-Upload
标签: php jquery laravel-5.2