【发布时间】:2016-12-01 10:11:23
【问题描述】:
我是 laravel 5 和 php 的新手,所以我不明白为什么会出现这个问题。
我正在尝试使用 ajax 上传文件(视频或图像),但服务器返回空结果。即使我控制台 FormData 表单似乎是空的。
HTML
<form enctype="multipart/form-data" id="upload-file" role="form" method="POST" action="" >
<input type="hidden" name="_token" value="{{ csrf_token()}}">
<input type="file" class="form-control" id="catagry-logo" name="videologo">
</form>
<div id="video-submit">Submit</div>
Javascript
$.ajaxSetup({
headers: {
'X-CSRF-Token': $('meta[name=_token]').attr('content')
}
});
$('#video-submit').on('click', function() {
console.log(new FormData($("#upload-file")[0]));
$.ajax({
type:'post',
url:'uploadvideo',
data: new FormData($("#upload_form")[0]),
processData: false,
contentType: false,
success:function(response){
console.log(response);
}
});
});
路线
Route::post('/uploadvideo', 'UploadController@videoUpload');
控制器
public function videoUpload() {
return response()->json(json_encode(Input::all()));
}
回应
FormData {}
[]
【问题讨论】:
-
使用请求类
public function videoUpload( Request $request ),然后使用dd( $request->input( 'videologo' ) ) -
为什么你的 action="" 是空的?
-
表示 POST 给自己
-
他使用 ajax 发布图片。无需在表单上添加操作
标签: javascript html laravel