我的問題是在 laravel 中使用 ajax 發布多個表單時,我發送表單資料沒有任何問題,但我無法發送檔案。檔案為空錯誤。我已經處理了2天,沒有我沒有嘗試過的方法,請幫助我。除此之外,我在表單中添加了 multipart,但它仍然不起作用,我正在與您分享我的代碼。
對不起,我的英語不好。
我希望它以正常的第 4 表單上傳 2 張照片,直到 createProduct3 表單,我嘗試通過執行正常的 new formData() 來獲取它們,但我嘗試了其他方式,但我無法成功。它將它作為 [Object File] 發送到 Laravel 服務器端。我的表格
<form class="form" id="createProduct4" method="POST" action="">
<input type="file" class="upload-box-title" id="urun-fotografi" name="urun_fotografi" value="Foto?raf Se?">
<input type="file" class="upload-box-title" id="urun-dosyasi" name="urun_dosyasi" value="Dosya Se?">
</form>
我的刀片ajax:
function createProducts()
{
var dataString = $("#createProduct1, #createProduct2, #createProduct3, #createProduct4").serialize();
let photo = document.getElementById("urun-dosyasi").files[0];
let photo2 = document.getElementById("urun-fotografi").files[0];
console.log(photo,photo2);
$.ajax({
url: "{{ route('user.product.create') }}",
type: "POST",
data: dataString "&urun_dosyasi=" photo "&urun_fotografi=" photo2,
success: function( data ) {
},
error: function(xhr)
{
console.log(xhr);
}
});
}
服務器功能
public function createProduct(Request $request)
{
$file = $request->file('urun_dosyasi');
$file2 = $request->file('urun_fotografi');
$filename = $file->getClientOriginalName();
$extension = $file->getClientOriginalExtension();
$filename2 = $file2->getClientOriginalName();
$extension2 = $file2->getClientOriginalExtension();
echo $filename,$extension."2. doc: ".$filename2.$extension;
}
uj5u.com熱心網友回復:
multipart/form-data當您的表單包含任何<input type="file">元素時使用:
<form ... enctype="multipart/form-data">
阿賈克斯:
var form = $('#createProduct4')[0];
var data = new FormData(form);
$.ajax({
url: "{{ route('user.product.create') }}",
type: "POST",
enctype: 'multipart/form-data',
data: data,
processData: false,
contentType: false,
success: function (data) {
console.log("SUCCESS : ", data);
},
error: function (e) {
console.log("ERROR : ", e);
}
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/439805.html
標籤:javascript php 阿贾克斯 拉拉维尔
