将从 api 返回的数据分配给变量 + javascript [重复]

问题描述 投票:0回答:0

我正在使用 javascript 中的 api 返回一些要分析和可视化的医疗保健数据。我创建了一个函数

get_data()
来访问数据,以便它可以在脚本的其他地方使用:

function get_data() {
console.log(vaccination_data[0]);
var vax_data = vaccination_data[0];
console.log(vax_data.city)
return vax_data
}

这在函数中运行良好,我可以记录数据及其要控制台的元素。我遇到的问题是,当我尝试使用

return
vax_data
变量
var data = get_data()
分配给函数外部的变量时,我收到错误消息:

"<a class='gotoLine' href='#60:22'>60:22</a> Uncaught TypeError: Cannot read properties of undefined (reading 'city')"

我测试了一个简单的功能,效果很好,例如:

function a() {
   var str = "first";
   return str
}

var string = a()

console.log(string)

谁能告诉我为什么它的工作方式与从 api 返回的数据不同?

完整代码:

var vaccination_data = [];

$.ajax({
  url: "https://health.data.ny.gov/resource/nvtm-yit2.json",
  type: "GET",
  data: {
    "$limit" : 5000,
    "$$app_token" : 'aGFbKDOg0gCeCm2c9Od2EsFjL'
  }
}).done(function(api_data) {
    //console.log(api_data)
  vaccination_data = api_data;

    get_data();
});

function get_data() {
console.log(vaccination_data[0]);
var vax_data = vaccination_data[0];
console.log(vax_data.city)
return vax_data
}

var data = get_data()
console.log(data)

JSFiddle - https://jsfiddle.net/jconoranderson/v3aLx621/15/

javascript jquery ajax variables variable-assignment
© www.soinside.com 2019 - 2024. All rights reserved.