我的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调用时却未定义有效负载,却没有提交就填充了有效负载。有什么方法可以让我将有效载荷数据提交给后端,或者如何将其分开以获取所需的结果?
我还尝试了针对突变的调度,并且有效载荷也未定义。
任何建议将不胜感激。
答案 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);
});
}