我在从api调用的返回中获取实际数据时遇到了一些问题。我可以看到输出到日志中的值,但是当我尝试使用data.admin_url访问它时,它返回未定义。
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',
});
};
中间有一些简单的实用程序代码,但最终它会到达这个函数...
APIService.prototype.makeRequest = function(config) {
return this.$http(config)
.then(function(response) {
// If we get a replacement token, update it.
this.authService.checkResponseHeaders(response);
var data = response.data;
if (data.data) {
return data.data;
}
if (data) {
return data;
}
return response;
}.bind(this));
};
最后,这是console.log中的输出:
那么,在我的第一组代码中,如何获取admin_url、agent_url或type变量?
发布于 2018-06-03 07:43:59
此问题可能是由于下划线为\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]))
开发人员控制台不支持退格,因此\u0332
下划线看起来与ASCII下划线相同。
如果您尝试使用使用ASCII下划线的字符串来访问它,则x[0].admin_url
将为undefined
。
发布于 2018-06-02 19:05:25
您需要访问响应的数据属性,因此,它应该是,
this.apiService
.getCCUrls()
.then(function(data){
console.log(data.data[0].admin_url);
});
https://stackoverflow.com/questions/50656238
复制相似问题