Как отправить formData через Axios в Vue JS и Node JS? - PullRequest
0 голосов
/ 15 февраля 2019

Api.Js -> Это коннектор Api (Node Js)

import axios from 'axios'

export default () => {
    return axios.create({
        baseURL: "http://localhost:4040",
        credentials: true
        //WithCredential: true
        //WithCredentials : true
    })
}

PageService.js

import Api from "@/services/Api";

export default{
    threadSubmit(params) {
        return Api().post("page/threadSubmit", params);
    },
    // threadSubmit(params) {
    //     return Api().post("page/threadSubmit", params, {
    //         headers: {
    //             'Content-Type': 'multipart/form-data'
    //         }
    //     });
    // }
}

Page.vue

<script>
   import PageService from "@/services/PageService";
   export default{
      methods:{
         async feedFinalSubmit(){
            const formData = new FormData();
            formData.append("files", this.file);
            formData.append("description", this.thread.description);
            formData.append("pageID", this.$route.params.id);

            const response = await PageService.threadSubmit({
               pageID: this.$route.params.id,
               description: this.thread.description,
               files: formData
            });
            if (response.data.success){
               //do somethnig
            }
         }
      }
   }
</script>

Проблема в том, что в каждом запросе #FormData отправлять пустой результат.Что я должен сделать, чтобы отправить данные из нескольких частей формы, используя этот файл Api.js?Заранее спасибо.

1 Ответ

0 голосов
/ 19 февраля 2019

Попробуйте этот код.

import axios from 'axios'

export default () => {
    return axios.create({
        baseURL: "http://localhost:4040",
        credentials: true,
        headers :{
           'Content-Type': undefined
        }
        //WithCredential: true
        //WithCredentials : true
    })
}


 async feedFinalSubmit(){
            const formData = new FormData();
            formData.append("files", this.file);
            formData.append("description", this.thread.description);
            formData.append("pageID", this.$route.params.id);

            const dict = {};
            dict['pageID']=this.$route.params.id;
            dict['description']=this.thread.description;

            const blob = new Blob([dict], {
                        type: 'application/json'
                        });
            formData.append("JsonData", blob); 
            const response = await PageService.threadSubmit(formData);
            if (response.data.success){
               //do somethnig
            }
         }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...