2017-11-25 92 views
0

所以我有这个对象,当我console.log它,并在检查员看它看起来很好。 Object in InspectorJavascript对象访问;输出正常,选择不工作

但是,当我打印出来的对象的钥匙,我只得到这个结果: Object Keys in Inspector

而一切,我认为(object.value)后打印出看起来是这样的:

ƒ(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this}

如何从第一张截图访问“responseJSON”?

一些可能很重要的背景信息: 我从spotify web-api获得了对象,授权等工作都很好。

function getUserData(accessToken) { 
     return $.ajax({ 
      url: 'https://api.spotify.com/v1/me/player/currently-playing', 
      headers: { 
       'Authorization': 'Bearer ' + accessToken 
      } 
     }); 
    } 
+0

尝试 'object.responseText' – Sudarshan

回答

1

这是因为你正在枚举一个jQuery延迟对象的属性。延迟对象是异步的,您的情况来自HTTP请求。

要正确枚举您的对象,您应该先等待它使用Deferred.then。从替换代码:

console.log(Object.keys(your_object)) 

到:

your_object.then(function(result) { 
    console.log(Object.keys(result)) 
}).catch(function(err) { 
    console.error(err) 
}) 
+0

那工作只是完美的,谢谢! – thaiten