Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue.js和Axios:转换请求返回未定义的数据_Javascript_Vue.js_Request_Axios - Fatal编程技术网

Javascript Vue.js和Axios:转换请求返回未定义的数据

Javascript Vue.js和Axios:转换请求返回未定义的数据,javascript,vue.js,request,axios,Javascript,Vue.js,Request,Axios,我试图使用transformRequest和transformResponse在数据呈现时显示加载程序。当我这样做的时候,它工作得很好,但是现在我的帖子和补丁请求似乎没有得到正确的处理。控制台上并没有错误消息,但当我试图修改某个实体(并发送补丁请求)时,什么也并没有发生。当我删除transformRequest功能时,我可以发送帖子和补丁 谁能解释一下我做错了什么 更新!以下是我在http/index.js中添加的内容: ... transformRequest(data) { console

我试图使用transformRequest和transformResponse在数据呈现时显示加载程序。当我这样做的时候,它工作得很好,但是现在我的帖子和补丁请求似乎没有得到正确的处理。控制台上并没有错误消息,但当我试图修改某个实体(并发送补丁请求)时,什么也并没有发生。当我删除transformRequest功能时,我可以发送帖子和补丁

谁能解释一下我做错了什么

更新!以下是我在http/index.js中添加的内容:

...
transformRequest(data) {
 console.log(data); // returns undefined
 store.dispatch('loadingData');
 console.log(data) // returns undefined
 return console.log(JSON.stringify(data)); // returns undefined
},
transformResponse(data) {
 store.dispatch('finishLoadingData');
 const parsedData = JSON.parse(data);
 if (parsedData.error === 'Access denied') {
   cookies.remove('access_token');
   window.location = `${config.mainSite}/login`;
 }
 return parsedData;
},
...
这是商店:

export default {
 state: {
  loading: false,
 },
 actions: {
  loadingData({ commit }) {
   commit('LOADING_DATA');
 },
 finishLoadingData({ commit }) {
   commit('FINISH_LOADING_DATA');
 },
},
mutations: {
 LOADING_DATA(state) {
  state.loading = true;
 },
 FINISH_LOADING_DATA(state) {
  state.loading = false;
 },
},
getters: {
  getLoading(state) {
   return state.loading;
  },
 },
};
使用时,
transformRequest
transformResponse
接受一系列函数,而不是单个函数。你能试试这个吗

...
transformRequest: [(data) => {
    store.dispatch('loadingData');

    return data;
}],

transformResponse: [(data) => {
    store.dispatch('finishLoadingData');

    const parsedData = JSON.parse(data);

    if (parsedData.error === 'Access denied') {
        cookies.remove('access_token');
        window.location = `${config.mainSite}/login`;
    }
    return parsedData;
}],
...

查看您的axios请求代码也会很有帮助:)Google Chrome上“网络”选项卡下的“标题”选项卡底部是什么意思?