【发布时间】:2019-04-18 00:51:47
【问题描述】:
所以我有一个 Node.js 服务器,它的路由只做一件事。当通过客户端单击按钮调用时,它会转到此处并从外部 API 获取数据。
app.get('/ajaxcall', function(req, res) {
const options = {
url: 'hidden url',
method: 'POST',
};
request(options, function(err, request, body) {
if (err) {
request.send('There was an error with fetching API');
}
else {
console.log(res.statusCode);
return res.end(JSON.stringify(body));
}
});
});
然后我有这个位从服务器获取这些数据。
$(document).ready(function(){
$('#searchButton').click(function(event){
event.preventDefault()
$.ajax({
type: 'GET',
url: '/ajaxcall',
})
.done(function(result){
let data = jQuery.parseJSON(result);
console.log(data)
console.log(data[0].formatted_address)
})
.fail(function(xhr, status, error){
console.log(error)
})
.always(function(data){})
})
})
问题是console.log(data) 会将所有内容输出到控制台,但console.log(data.[0].formatted_address)outputs 未定义。
我正在尝试从我返回的这个 JSON 中获取数据,以便将其显示在网站上。谁能告诉我为什么 console.log(formatted_address) 在客户端不起作用,但在服务器端起作用?有没有办法遍历这个 JSON 对象并选择我需要的位?
以下是 JSON 的外观 JSON screenshot
【问题讨论】:
标签: javascript node.js json ajax api