Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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 刷新时Nuxt asyncdata axios丢失身份验证令牌_Javascript_Vue.js_Axios - Fatal编程技术网

Javascript 刷新时Nuxt asyncdata axios丢失身份验证令牌

Javascript 刷新时Nuxt asyncdata axios丢失身份验证令牌,javascript,vue.js,axios,Javascript,Vue.js,Axios,我正在调用获取邮件数据数组的GETAPI。它在邮递员身上很管用。当我使用asyncdata方法获取数组时。只有当用户刷新页面时,它才会工作一次。我从饼干中取出代币就可以了。通常在非异步数据上,我这样做是为了设置标头 this.$axios.setHeader('Authorization','Bearer ' + this.$store.state.token); this.$axios.$post('upload/avatar',formData,{ hea

我正在调用获取邮件数据数组的GETAPI。它在邮递员身上很管用。当我使用asyncdata方法获取数组时。只有当用户刷新页面时,它才会工作一次。我从饼干中取出代币就可以了。通常在非异步数据上,我这样做是为了设置标头

this.$axios.setHeader('Authorization','Bearer ' + this.$store.state.token);
        this.$axios.$post('upload/avatar',formData,{
          headers: {'content-type': 'multipart/form-data'}
        }).then(res =>{

        }).catch(err => console.error(err));{

        }
      }
这工作正常,没有问题

但我的asnycData是这样的

asyncData(context){
      //Cookie has to be read for async to work for now if user disables cookies breaks this page
       let token = Cookie.get('token');
      context.app.$axios.setHeader('Authorization',`Bearer ${token}`);

      return  context.app.$axios.$get('get/all/mail').then(mailData =>{
        console.log(context.app.$axios.defaults);

        let mailMap = [];
        //create array to load mail data in
        for(let key in mailData){
          mailMap.push({...mailData[key]});
        }

        return{
         mailArray:mailMap
        }
      }).catch(e =>console.error(e));
  }

我正在尝试创建一个简单的收件箱页面,它可以发送、删除和起草邮件。

问题可能是因为
asyncData
正在从服务器运行,因此它将丢失任何浏览器cookie


如果您使用的是axios,nuxt社区设置了一个模块,可用于将浏览器cookie自动注入服务器请求。

我重新编辑了整个页面。我没有这个问题,真正的问题是为什么nuxt会清除我的身份验证令牌头?我有一个类似的问题,当我重新加载页面时,axios实例会丢失授权头值。我将它与Vue一起使用。你找到解决办法了吗?