前锋
data() {
return {
user_data: [],
user_id: '',
};
},
created() {
this.getUserData();
const decode = jwtDecode(localStorage.auth_token);
this.user_id = decode.user_id;
},
methods: {
getUserData() {
axios.get(`http://localhost:3000/api/v1/users/${this.user_id}`) // Gets an specif book
.then((response) => {
this.user_data = response.data;
});
},
}
后端显示方法
def show
user = User.find(params[:id])
render json: user
end
路线
api_v1_user GET /api/v1/users/:id(.:format)
在上面的代码中,我从令牌中获取用户ID,并通过方法getUserData()
从数据库中获取用户信息。但是,当我发出请求时,并没有带来特定用户,而是给了我所有注册用户。
P.s:我尝试在我的getUserData
方法中打印用户ID,以查看ID是否在变量user_id
中,并且工作正常,但我的请求无法获取!
有人能帮我吗?
答案 0 :(得分:1)
在上面的代码中,我从令牌中获取用户ID,并在我的方法getUserData()中从数据库中获取用户信息
代码中的顺序相反,它向http://localhost:3000/api/v1/users/
发出请求而没有用户ID。
它应该是:
const decode = jwtDecode(localStorage.auth_token);
this.user_id = decode.user_id;
this.getUserData();
如果有可能没有用户ID,则不应调用getUserData
。