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?

avatar farisdewantoro
@farisdewantoro

119 Kontribusi 16 Poin

Diperbarui 5 tahun yang lalu

9 Jawaban:

<pre> axios.put('contoh/1', { data1: this.data1, data2: this.data2 }) .then(response =&gt; { console.log(response); }) .catch(error =&gt; { console.log(error); }); </pre>

avatar human
@human

45 Kontribusi 41 Poin

Dipost 5 tahun yang lalu

saya memakai form data gan tetapi hasilnya responsenya selalu null kalo pakai post bisa itu kenapa ya?

avatar farisdewantoro
@farisdewantoro

119 Kontribusi 16 Poin

Dipost 5 tahun yang lalu

ini code nya gan @human

<pre> public function update(Request $request, $id) { dd($request-&gt;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-&gt;toJson() !!}, attachments:[], uploadProgress:0, productcolor_id:{!!$productcolor-&gt;id!!}, showModal: false,

  },  

createProductOption() {

      if (this.attachments.length &amp;gt;0) {
        for (let i = 0; i &amp;lt; this.attachments.length; i++) {
                 let attachments = this.attachments[i];
                 this.formD.append(&#039;attachments[]&#039;, attachments);
             }
      }
      if ($(&#039;.base_color&#039;).length &amp;gt; 0) {
        let base_color=JSON.stringify($(&#039;.base_color&#039;).val());
        this.formD.append(&#039;base_color&#039;,base_color);
      }
      if ($(&#039;.original_color&#039;).length &amp;gt; 0) {
        let original_color=JSON.stringify($(&#039;.original_color&#039;).val());
        this.formD.append(&#039;original_color&#039;,original_color);
      }

      if (this.optionValues.length &amp;gt; 0) {
          let optionValue=JSON.stringify(this.optionValues);
          this.formD.append(&#039;optionValue&#039;,optionValue);
      }

      if (!this.optionValues.length &amp;&amp; !this.formD.length) {
        return false;
      }else {
      let  config= { headers:{&#039;Content-Type&#039;: &#039;multipart/form-data&#039; }};

      let product=JSON.stringify(this.product);
      this.formD.append(&#039;product&#039;,product);





        axios.put(&#039;/admin/productOption/&#039;+this.productcolor_id,this.formD,{
          onUploadProgress:uploadEvent=&amp;gt;{

            // console.log(&#039;Upload Progress :&#039;+Math.round(uploadEvent.loaded/uploadEvent.total * 100)+&#039;%&#039;);
            this.uploadProgress = Math.round(uploadEvent.loaded/uploadEvent.total * 100)+&#039;%&#039;;
              this.showModal = true;
              if (this.uploadProgress === 100+&#039;%&#039;) {
                this.uploadProgress =&quot;Sending data...&quot;
              }

          }
        },config)
        .then((response)=&amp;gt;{
          console.log(response);
            // this.showModal = false;
            // if (response.data.status == &#039;success&#039;) {
            //   window.location.href=&quot;/admin/product&quot;;
            // }

        })
        .catch((error)=&amp;gt;{

            this.showModal = false;
          console.log(error.response);
        });
      }
    } &lt;/pre&gt;
avatar farisdewantoro
@farisdewantoro

119 Kontribusi 16 Poin

Dipost 5 tahun yang lalu

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

avatar human
@human

45 Kontribusi 41 Poin

Dipost 5 tahun yang lalu

okeyy gannn

avatar farisdewantoro
@farisdewantoro

119 Kontribusi 16 Poin

Dipost 5 tahun yang lalu

Kalau di axios di kasih header

headers: { 'Content-Type': 'application/x-www-form-urlencoded' }

di tempat ane sih bisa gan. Put pake form-data

avatar markeronly
@markeronly

378 Kontribusi 230 Poin

Dipost 5 tahun yang lalu

Pake 5.5x?

avatar human
@human

45 Kontribusi 41 Poin

Dipost 5 tahun yang lalu

5.5x apa @human ?

avatar markeronly
@markeronly

378 Kontribusi 230 Poin

Dipost 5 tahun yang lalu

pake API Form Data

avatar Itsdonnisnoni
@Itsdonnisnoni

55 Kontribusi 31 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban