我无法从登录api访问数据的响应访问令牌值请帮助我。
我的代码正在访问来自网址的数据,而响应是来自
的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;
})
}
因此“数据”在浏览器中的响应低于此值。
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"
答案 0 :(得分:2)
看起来当您处理承诺时,您将回复称为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;
});
}
答案 1 :(得分:0)
你试过data.json().token
吗?
修改强>
有一次我发现我对响应感到困惑,因为我将其命名为数据,并且响应中包含一个包含数据的对象。
在这种情况下,我必须使用: data.data.token
。
我希望这也是你的情况:)