vue中的axios请求,response.data.data的数据为 undefined

问题

response中是有数据的,但是就是获取不了其中的数据.

问题相关前端代码
 login.getrInfo()
     .then((response) => {
         console.log(response) //有数据
         console.log(this) // VueComponent {} 应该是指向vue的
         console.log(response.data.data.userInfo)   //undefined 没有数据
         this.loginInfo = response.data.data.userInfo
         console.log(this.loginInfo)   //undefined
         cookie.set('guli_ucenter',JSON.stringify(this.loginInfo) ,{domain: 'localhost'})
         console.log(cookie.get('guli_ucenter'))  //undefined
  })

控制器中返回的数据,也没问题

 return Resp.ok().data("userInfo ",member)  

获取cookie中的数据报错

var userStr = cookie.get('guli_ucenter')
this.loginInfo = JSON.parse(userStr)

SyntaxError: Unexpected token u in JSON at position 0

网上找了好多的资料,还是找不到问题。 崩溃了

1.接口是否报错,2,response.data.data.userInfo是否正确,是不是多了个data或者少了什么,对象一层一层检查一下

这种检查一下response的数据格式就行了,出现undefined要么没取到值,要么属性不存在,这个打印response看一下就好了

你的response是有数据的,然后response.data.data下面的字段没有数据,你需要看下response的数据结构response.data.data应该是空的

可以先打印response的值出来,然后看看是否是需要是两层data,也有可能是response.data就有值了,逐步排查

看response的数据结构是怎样的,不一定都是response.data.data,也有可能是response.data,这取决于后端的封装。