鍍金池/ 問答/HTML/ Vue.js 如何提交form?

Vue.js 如何提交form?

RT,我用的是vue.js + axios + formdata。但是每次我post的時候,只能將file這個文件post到后端,而參數(shù)得到的總是空,不知道應該如何修改?
我的form:

<form action=""  method="post" id="myForm"  enctype="multipart/form-data">
      <lable for="p1">p1:  </lable>
      <input type="text" name="p1" id="hbaseTablePut" v-model="p1">
      <lable for="p2">p2: </lable>
      <input type="text" name="p2" id="p2" v-model="p2" >
    
      <label  class="the-submit">
          <input type="file" id="file" ref="file" v-on:change="handleFileUpload($event)">
      </label>
      <button v-on:click="submitFile($event)">submit</button>
 </form>

script:

data(){
          return{
           p1:'',
           p2:''

          }
submitFile(event){
                event.preventDefault();

                let formData = new FormData();
                formData.append('p1', this.p1);
                formData.append('p2',  this.p2);
                formData.append('file', this.file);
                let config = {
                  headers:{'Content-Type':'multipart/form-data'}
                };


                axios.post("/parser/upload", formData, config
                  ).then(rst =>{
                    //var res = rst.data;
                     //this.fileUpRes = res;
                    console.log('SUCCESS');
                })
                    .catch(function(){
                      this.fileUpRes = 'failed';
                      console.log('FAILURE!!');
                    });
          },

            handleFileUpload(event){
                  event.preventDefault();
                  this.file = this.$refs.file.files[0];

                },

每次用formdata.append的時候,在后端(node.js)后臺接收顯示的時候,總是只有file能接受到,顯示的p1,p2總是{}空的,不知道哪里出了問題?

回答
編輯回答
荒城

你從chrome上面把你的提交請求展示出來看看,就能定位到是數(shù)據(jù)沒有提交上去,還是你后端沒有正確解析

2017年8月31日 00:28
編輯回答
殘淚

你把this.p1,this.p2,打印到控制臺,看看append之前是多少?

2018年5月11日 00:39