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 未定义本地存储_Javascript_Vue.js_Jwt - Fatal编程技术网

Javascript 未定义本地存储

Javascript 未定义本地存储,javascript,vue.js,jwt,Javascript,Vue.js,Jwt,我正在使用Nuxt.js进行SSR。我有一个登录系统,每当我登录我的应用程序时,我都会得到一个JSON web令牌(JWT)并将其存储在我的Localstorage中 现在的问题是SSR。每当我尝试访问Localstorage时,它都会说它未定义。我发现了一篇关于这个问题的Stackoverflow文章,这是因为代码是服务器端呈现的,所以它无法访问Localstorage 我尝试了created()。 我还尝试了numtserverinit也没有成功 如何检查客户端的localstorage中是

我正在使用Nuxt.js进行SSR。我有一个登录系统,每当我登录我的应用程序时,我都会得到一个JSON web令牌(JWT)并将其存储在我的Localstorage中

现在的问题是SSR。每当我尝试访问Localstorage时,它都会说它未定义。我发现了一篇关于这个问题的Stackoverflow文章,这是因为代码是服务器端呈现的,所以它无法访问Localstorage

我尝试了
created()。
我还尝试了
numtserverinit
也没有成功


如何检查客户端的localstorage中是否存在令牌,或者是否有更好的方法?

您可以调用
挂载的

export default {
  mounted() {
    this.storage();
  },
  methods:{
    storage(){
       localStorage.getItem("authToken");
    }
  }
}
或者将创建的
过程一起使用。浏览器
检查

export default {
  created() {
    this.storage();
  },
  methods:{
    storage(){
      if (process.browser){
          localStorage.getItem("authToken");
      }
    }
  }
}

检查本地存储是否确实存在。按f12键并转到应用程序选项卡,您将在那里看到本地存储。它将向您显示站点、密钥和值。顺便说一句,您是如何使用本地存储的?服务器端代码无法直接看到Javascript本地存储,您需要客户端以某种方式发送此信息,可以是cookie/ajax/websocket等,甚至是表单帖子。@renatomanali这不是问题,每当我登录时,我都会从后端检索jwt并将其保存在本地存储中。我知道如何检查它是否存在,问题是nuxtjs是服务器端渲染的,因此它无法访问本地存储。我想检查一下这个令牌是否存在pageload@ilijanovic哦,我明白了,如果您使用vuex,效果会更好。@renatomanali我使用vuex,每次刷新后存储都会刷新,因此每次页面刷新后我都需要再次登录。现在我正在使用vuex,希望改进AppEx。问题是从存储中检索数据。不能,因为nuxt是在服务器端呈现的<代码>流程。浏览器
的工作方式正是我想要的,谢谢