请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于App.vue中getUser函数的疑惑

老师,请问一下,我看您在”App.vue“中有个函数:getUser()

    getUser(){
      this.axios.get('/user').then((res)=>{
        this.$store.dispatch('saveUserName',res.username);
      })
    },

这个axios请求是没有参数的,我有点不太明白的是,一个网站有那么多用户都会注册,那后台是怎么知道您要求返回的是哪个用户的用户名的呢?

正在回答 回答被采纳积分+3

1回答

河畔一角 2020-05-07 19:21:08

这个地方你可能没有理解,我们这儿获取用户信息虽然没有参数,那是在登录的情况下才获取到的。我们跟服务端通信用的cookie,再登录成功后,会自动往前端浏览器写入cookie,那我们再调用后端接口的时候,服务端会自动获取前端带过去的cookie,来判断我们是哪个用户。

2 回复 有任何疑惑可以回复我~
  • 提问者 慕少0472972 #1
    老师,那我可不可以这样理解,首先用户在登录时,服务器会向浏览器发送一个字符串,浏览器就根据这个字符串为标识,并通过您在login()函数中写的this.$cookie.set('userId',res.id,{expires:'1M'})将该登录账户的userid的信息加在了这个标识的后面,并发给服务器,服务器就可以从这个标识中取得这个userid,从而返回了用户的信息?
    回复 有任何疑惑可以回复我~ 2020-05-08 02:51:43
  • 提问者 慕少0472972 #2
    老师,我在跑这一章代码的时候,注意到cookie除了userId这个字段以外还有一个JSESSIONID,可是我在代码中并没有找到向cookie中添加这个部分的内容,请问这个是在哪里生成的啊?
    回复 有任何疑惑可以回复我~ 2020-05-08 03:49:47
  • 河畔一角 回复 提问者 慕少0472972 #3
    服务端生成的
    回复 有任何疑惑可以回复我~ 2020-05-08 08:10:52
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号