无法从数据响应中访问令牌值



我无法从登录API访问的数据响应中访问令牌值,请帮助我。

我的代码是从URL访问数据,响应以JSON格式

以JSON格式访问

我的代码是

 authFactory.login = function( username, password ){
 return $http.post('/api/login' , {
            username : username,
            password : password
        })
             .then( function (data) {
            console.log(data);
               AuthToken.setToken(data.token);
               return data;
            })
    }

so"数据"在浏览器中的响应以下。

     Object {data: Object, status: 200, config: Object, statusText: "OK", headers: function}
      config:Object
      data:Object
      message:"successfully login!"
      success:true
      token:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1OGY1ZjZlZDhlMzcyMDA4MDhkMmU4NWQiLCJpYXQiOjE0OTI1MjI1OTR9.EkTtneJvBM47LOvMUMh81XYLI_O5oByf1qjWOxliTcs"
   __proto__:Object
   headers:function (name)
   status:200
   statusText:"OK"
   __proto__: Object

,如果我访问登录API的URL,则将数据作为

进行
        message:"successfully login!"
        success:true
        token:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1OGY1ZjZlZDhlMzcyMDA4MDhkMmU4NWQiLCJpYXQiOjE0OTI1MjI1OTR9.EkTtneJvBM47LOvMUMh81XYLI_O5oByf1qjWOxliTcs"

看起来像是在处理诺言时,将响应称为 data,尝试将其重命名为response,这更可读。重命名后,您可以在响应response.data中找到数据。

 authFactory.login = function( username, password ){
   var queryParams = {
    'username': username,
    'password': password
   }
   $http.post('/api/login' , queryParams)
  .then(function (response) {
    // replaced data with response, which is more human readable
    console.log(response.data);
    AuthToken.setToken(response.data.token);
    return response.data;
  });
}

您是否尝试过data.json().token

编辑
我有一次碰到我与响应相混淆,因为我将其命名为数据,并且响应包含一个带有数据的对象。

在这种情况下,我必须使用: data.data.token

我希望这也是您的情况:(

相关内容

  • 没有找到相关文章

最新更新