为什么我在axios调用中提交时未定义有效负载

时间:2020-08-13 18:01:35

标签: vuejs2 axios vuex

我的vuex存储区中有一个动作,该动作会进行后期调用并将数据响应提交到新数组。

我遇到的问题是,当我在axios响应中激活提交调用时,我的有效负载未定义。当我将其取出时,有效载荷具有正确的数据。

这是带有提交的调用:

async addToCategories ({ commit },categories, payload) {
        //commit('createCategories', categories);
        const  formData = new FormData();
        formData.append('CategoryName', payload);

        await axios({
                method: 'post',
            url: 'https://localhost:5001/api/Categories',
            data: formData,
            headers: { 'Content-Type': undefined }
            })
            .then((response) =>  {
                console.warn('Axios response', response);
                commit('createCategories', response.data.Categories);
            })
            .catch((response) => {
                console.warn(response);
            });

      }

我无法理解或弄清楚的是为什么当我在操作中执行commit调用时却未定义有效负载,却没有提交就填充了有效负载。有什么方法可以让我将有效载荷数据提交给后端,或者如何将其分开以获取所需的结果?

我还尝试了针对突变的调度,并且有效载荷也未定义。

任何建议将不胜感激。

更新: axios响应数据的屏幕抓图 axios response data

1 个答案:

答案 0 :(得分:0)

我通过仅从操作中取出category参数来解决此问题,并且所有工作现在都按预期进行。谢谢你看


async addToCategories ({ commit }, payload) {
        //commit('createCategories', categories);
        const  formData = new FormData();
        formData.append('CategoryName', payload);

        await axios({
                method: 'post',
            url: 'https://localhost:5001/api/Categories',
            data: formData,
            headers: { 'Content-Type': undefined }
            })
            .then((response) =>  {
                console.warn('Axios response', response);
                commit('createCategories', response.data.Categories);
            })
            .catch((response) => {
                console.warn(response);
            });

      }