我將使用 formData 發送陣列資料。后端接受帶有破折號的資料陣列;例如,如果在郵遞員中使用這樣的表單資料:
id_barang : 122;288;383 (send 3 value id with dash ;)
如果我使用 formData 是這樣嗎?
data [
{
id_barang : 122
},
{
id_barang : 288
},
{
id_barang : 383
}
]
let barang = data.map(x => x.id_barang).join(";");
const f = new FormData();
f.append("id_barang", barang);
//please correct me if i'm wrong
uj5u.com熱心網友回復:
您可以對陣列進行字串化并將其附加到 FormData 和后端中,您可以決議該資料并相應地使用它。看看下面的例子。
let formData = new FormData();
let data = [
{
id_barang : 122
},
{
id_barang : 288
},
{
id_barang : 383
}
]
formData.append("arr", JSON.stringify(data));
for (var value of formData.values()) {
console.log(value);
}
uj5u.com熱心網友回復:
Axios 有 paramsSerializer 選項,您可以使用 qs.stringify 將其設定為逗號分隔的 arrayFormat。
const paramsSerializer = (params: any) => stringify(params, { arrayFormat: 'comma' });
uj5u.com熱心網友回復:
您的代碼沒有任何問題。這里唯一缺少的是您沒有提供使用 axios 發送請求的方法。當您FormData與 axios 一起使用時,您需要添加'Content-Type': 'multipart/form-data'. 但是,如果您不向其中添加任何檔案,Formdata則無需使用Formdata
這是競爭行動:
var banyakBarang = [
{ id_barang: 122 },
{ id_barang: 288 },
{ id_barang: 383 }
];
var barangString = banyakBarang.map(function(barang) {
return barang.id_barang;
}).join(';');
var formData = new FormData();
formData.append('id_barang', barangString);
axios({
method: 'post',
url: '/x',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
},
});
請求有效載荷:
id_barang: 122;288;383
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/380332.html
標籤:javascript Vue.js 公理 多部分数据
