首页 > 解决方案 > 如何在nuxtjs中获取登录的用户数据?

问题描述

我正在使用 laravel 后端和 nuxtjs 前端,当我发送登录请求时,我得到一个响应,其中包括带有令牌的登录用户信息,响应如下所示:

{"message":"success","token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiNzFkYjA1MWM2MTYxMmE4YzAyNWI2YjU3N2xMzJiNzJjMjI0MzRlY2IzNzYwNTg2N2NjOWQ5ZWEwY2MiMJM3uYEiZ8GSlPlQhIctVErO2KzwXOBxifWWoM7et_qT-mgvfsk3ljwiQF9iPQw-WeekBx8J8lcmxDLESa3tfE1Re1Xk2flkcBLmiI4JN2YHh08U1U","user":{"id":1,"role_id":4587,"firstname":"Hans","lastname ":"newman","email":"newman@gmail.com","email_verified_at":null,"phone":"89498","skype":"gdgdfg","birthdate":"2021-05-02 ","address":"asdfaf","postalcode":14984,"city":"jisf","country":"isfisf","status":"mfof","created_at":"2021-06-16T09:33:08.000000Z","updated_at":"2021-06-16T09:39:41.000000Z","image":"1623835988-carlsen.png","description":" sfdgg","geo_lat":5.5,"geo_lng":8.1}}

登录后,我想将用户重定向到他的个人资料页面,在那里他可以看到他的数据,我怎样才能从这个响应中获取登录的用户数据。

标签: laravelvue.jsnuxtjs

解决方案


假设您保存响应数据的变量是response. 您可以通过 访问用户数据response.user。要访问用户内部的任何数据,您可以进一步访问它们,例如response.user.id.

您的响应数据的美化版本,以便于阅读:

{
  "message":"success",
  "token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiNzFkYjA1MWM2MTYxMmE4YzAyNWI2YjU3N2xMzJiNzJjMjI0MzRlY2IzNzYwNTg2N2NjOWQ5ZWEwY2MiMJM3uYEiZ8GSlPlQhIctVErO2KzwXOBxifWWoM7et_qT-mgvfsk3ljwiQF9iPQw-WeekBx8J8lcmxDLESa3tfE1Re1Xk2flkcBLmiI4JN2YHh08U1U",
  "user":{
    "id":1,
    "role_id":4587,
    "firstname":"Hans",
    "lastname":"newman",
    "email":"newman@gmail.com",
    "email_verified_at":null,
    "phone":"89498",
    "skype":"gdgdfg",
    "birthdate":"2021-05-02",
    "address":"asdfaf",
    "postalcode":14984,
    "city":"jisf",
    "country":"isfisf",
    "status":"mfof",
    "created_at":"2021-06-16T09:33:08.000000Z",
    "updated_at":"2021-06-16T09:39:41.000000Z",
    "image":"1623835988-carlsen.png",
    "description":"sfdgg",
    "geo_lat":5.5,
    "geo_lng":8.1
  }
}

如果您要重定向用户,则必须将响应保存在商店中,以便您可以在另一个页面中使用它。除非您使用Auth/Nuxt将数据保存在$auth.


推荐阅读