有人可以帮助我吗?我正在尝试使用jquery和laravel上传图像,但不知道如何传递数据
Ajax功能
var form_data = new FormData();
form_data.append('file', file_data);
form_data.append('link', link);
form_data.append('comment', comment);
form_data.append('reportid', reportid);
$.ajax({
url:"{{ route('report.update') }}",
type:"GET",
data:form_data,
contentType:false,
cache:false,
processData:false,
success:function(data) {
alert(data);
}
});
路线
Route::get('report-update', ['uses'=>'Executive@reportUpdate', 'as'=>'report.update']);
控制器:
public function reportUpdate(Request $request)
{
$file = $request->file('file');
echo $file->getClientOriginalName();
}
答案 0 :(得分:0)
在您的表单中添加enctype =“ multipart / form-data”
enctype="multipart/form-data"
$.ajax({
url:"{{ route('report.update') }}",
type:"POST",
data:form_data,
contentType:false,
processData:false,
success:function(data){
alert(data);
}
});
Route::POST('report-update', ['uses'=>'Executive@reportUpdate', 'as'=>'report.update']);
答案 1 :(得分:0)
只需尝试
var formData = new FormData($("#formid")[0]);
$.ajax({
url: "{{ route('report.update') }}",
type: 'POST',
dataType: 'JSON',
data: formData,
processData: false,
contentType: false,
enctype: 'multipart/form-data',
mimeType: 'multipart/form-data',
cache: false,
success: function(data, textStatus, jqXHR) {
console.log(data)
}
});
并且使用表格的方法是 POST
答案 2 :(得分:0)
Ajax
$("#FormId").on('submit', (function(e) {
e.preventDefault();
$.ajax({
url: "{{ route('report.update') }}",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData: false,
success: function(data) {
}
})
}));
路线
Route::POST('report-update', ['uses'=>'Executive@reportUpdate', 'as'=>'report.update']);
功能
public function reportUpdate(Request $request)
{
$file = $request->file('file');
$fileName = time().$request->file('file')->getClientOriginalName();
$path=$file->move('FolderPath',$fileName);
}