我想在我的控制器中使用ajax發送文件數據,但它不起作用。 下面是代碼結構;上傳文件是空的Laravel 5.4
形式
<form id="contact_img" enctype="multipart/form-data">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input id="contact_image" name="contact_image" type="file" class="file">
<input type="text" class="form-control" name="testtest" id="testtest" required>
<button type="submit" class="btn-default">Save</button>
</form>
AJAX
$.ajax({
url: "{{ url('/') }}/admin/upload_contact_img",
data: $("#contact_img").serialize(),
success: function (data) {
alert(data);
location.reload();
},
});
我的網絡路由
路線::獲得( '管理/ upload_contact_img', 'admin_controller @ contact_img_upload');
控制器
public function contact_img_upload(Request $form){
if ($form->hasFile('contact_image')){
echo $form->file('contact_image');
}else{
echo "empty";
}
echo $form->testtest;
}
只有輸入TESTTEST顯示該值。
的可能的複製[如何使用FORMDATA爲Ajax文件上傳(https://stackoverflow.com/questions/21044798/how-to-use -formdata換AJAX文件上傳) –