我在从api调用返回实际数据 out 时遇到了一些麻烦。我可以看到输出到日志中的值,但是当我尝试使用 data [0] .admin_url 访问它时,它会返回 undefined 。
db.getCollection('test').find().noCursorTimeout().snapshot().forEach( function(data) {
data.firstname = hex_md5(data.firstname);
db.getCollection('test').save(data);
});
这称之为:
this.apiService
.getCCUrls()
.then(function(data){
console.log(data); //output in the image below
console.log(data[0].admin_url); //returns undefined
});
介于两者之间有一些简单的实用程序代码,但最终它可以实现此功能......
APIService.prototype.getCCUrls = function() {
return this.makePublicApiRequest({
method: 'GET',
url: '/v1/cc-instances',
});
};
最后,这是console.log中输出的内容:
因此,在我的第一组代码中,如何访问admin_url,agent_url或输入变量?
答案 0 :(得分:0)
这个问题可能是因为下划线是\u0332
下划线:
var x = [{"admin\u0332url":"/cca"}];
console.log(x);
console.log(x[0].admin_url);
console.log(x[0].admin\u0332url);
console.log(Object.keys(x[0]))
Developer Console不退格,因此\u0332
下划线看起来与ASCII下划线相同。
如果您尝试使用使用ASCII下划线的字符串访问它,x[0].admin_url
将为undefined
。
答案 1 :(得分:-1)
您需要访问响应的数据属性,因此应该是
this.apiService
.getCCUrls()
.then(function(data){
console.log(data.data[0].admin_url);
});