Javascript 记录AJAX/JSON请求时,Console.log语句显示未定义

Javascript 记录AJAX/JSON请求时,Console.log语句显示未定义,javascript,json,ajax,Javascript,Json,Ajax,这是我第一次使用AJAX,我确信其他人也有这个错误,但是经过大量的尝试和搜索,我找不到答案。我相信这很简单。我非常感谢您的帮助 // create variable for JSON request var ourRequest = new XMLHttpRequest(); // get request for tested JSON link ourRequest.open('GET', 'http://api.fixer.io/latest'); ourRequest.onload =

这是我第一次使用AJAX,我确信其他人也有这个错误,但是经过大量的尝试和搜索,我找不到答案。我相信这很简单。我非常感谢您的帮助

// create variable for JSON request
var ourRequest = new XMLHttpRequest();

// get request for tested JSON link
ourRequest.open('GET', 'http://api.fixer.io/latest');
ourRequest.onload = function () {
    var ourData = JSON.parse(ourRequest.responseText);
    console.log(ourData[1]);
};

ourRequest.send();

ourData
是一个JavaScript对象,而不是数组

我认为通过
ourData[1]
你想要得到日期,因此你需要做
ourData.date
ourData['date']

//为JSON请求创建变量
var ourRequest=new XMLHttpRequest();
//获取已测试JSON链接的请求
我们的请求。打开('GET','https://api.fixer.io/latest');
ourRequest.onload=函数(){
var ourData=JSON.parse(ourRequest.responseText);
log(ourData['date']);
console.log(ourData.date);
};

ourRequest.send()因为respoose是Json格式的,所以您可以使用下面的代码并使用您喜欢的任何方式

var ourRequest = new XMLHttpRequest();

// get request for tested JSON link
ourRequest.open('GET', 'http://api.fixer.io/latest');
ourRequest.onload = function () {
    var ourData = JSON.parse(ourRequest.responseText);
    console.log(ourData['date']);
    console.log(ourData.date); //or you can write in this format
    console.log(ourData['base']);
    console.log(ourData.base);
    console.log(ourData['rates']);
    console.log(ourData.rates);
    console.log(ourData['rates']['AUD']);
    console.log(ourData['rates'].AUD);
};

ourRequest.send();

因此,当我在浏览器中运行并检查控制台时,它显示为未定义。我正在使用ChrometheAPI返回一个对象
{“base”:“EUR”,“date”:“2017-02-24”,…
,而不是数组。->,这是一个跨源请求吗?什么是
。responseText
?什么是
。status
?什么是
我们的数据
(不是
我们的数据[1]
)?非常感谢大家的帮助!