Postingan lainnya
AXIOS PUT CANT SEND FORMDATA?
saya menggunakan vue js dan menggunakan axios put untuk mengedit data nahh datanya itu berupa formdata tetapi ketika saya mencoba mengcek data. datanya tidak ada tetapi kalo menggunakan method post lancar bagaimana cara mengatasinya?
9 Jawaban:
<pre> axios.put('contoh/1', { data1: this.data1, data2: this.data2 }) .then(response => { console.log(response); }) .catch(error => { console.log(error); }); </pre>
saya memakai form data gan tetapi hasilnya responsenya selalu null kalo pakai post bisa itu kenapa ya?
ini code nya gan @human
<pre> public function update(Request $request, $id) { dd($request->all()); </pre>
result image : [img]https://i.imgur.com/dptJB1O.png[/img] [img]https://i.imgur.com/9fvuiZv.png[/img] <img src='https://i.imgur.com/D4g1xbH.png'> <img src='https://i.imgur.com/dWNw09n.png'>
saya mendapatkan status 200 yang berarti success tetapi tidak ada data yang dikirimkan saya sudah menceknya menggunakan print_r() dan ataupun dd() <pre> const optionProductedit = new Vue({ el:"#variantEdit", data:{ product:{!!$product!!}, formD:new FormData(), optionValues:{!! $productsizes->toJson() !!}, attachments:[], uploadProgress:0, productcolor_id:{!!$productcolor->id!!}, showModal: false,
},
createProductOption() {
if (this.attachments.length &gt;0) {
for (let i = 0; i &lt; this.attachments.length; i++) {
let attachments = this.attachments[i];
this.formD.append('attachments[]', attachments);
}
}
if ($('.base_color').length &gt; 0) {
let base_color=JSON.stringify($('.base_color').val());
this.formD.append('base_color',base_color);
}
if ($('.original_color').length &gt; 0) {
let original_color=JSON.stringify($('.original_color').val());
this.formD.append('original_color',original_color);
}
if (this.optionValues.length &gt; 0) {
let optionValue=JSON.stringify(this.optionValues);
this.formD.append('optionValue',optionValue);
}
if (!this.optionValues.length && !this.formD.length) {
return false;
}else {
let config= { headers:{'Content-Type': 'multipart/form-data' }};
let product=JSON.stringify(this.product);
this.formD.append('product',product);
axios.put('/admin/productOption/'+this.productcolor_id,this.formD,{
onUploadProgress:uploadEvent=&gt;{
// console.log('Upload Progress :'+Math.round(uploadEvent.loaded/uploadEvent.total * 100)+'%');
this.uploadProgress = Math.round(uploadEvent.loaded/uploadEvent.total * 100)+'%';
this.showModal = true;
if (this.uploadProgress === 100+'%') {
this.uploadProgress ="Sending data..."
}
}
},config)
.then((response)=&gt;{
console.log(response);
// this.showModal = false;
// if (response.data.status == 'success') {
// window.location.href="/admin/product";
// }
})
.catch((error)=&gt;{
this.showModal = false;
console.log(error.response);
});
}
} </pre>
Jawaban Terpilih
Kalau pake multipart/form-data ga bisa pake put entah kenapa. Ane juga gitu kok, jadinya pake post aja. Soalnya si Request payload-nya bakal jadi beda
Kalau di axios di kasih header
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
di tempat ane sih bisa gan. Put pake form-data