所以我收到了一个网址:“http://theossrv2.epfl.ch/aiida_assignment2/api/points/”,我一直试图从这个网址获取JSON。这是我到目前为止所做的:
var getJSON = function (url, callback) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'json';
xhr.onload = function () {
var status = xhr.status;
if (status === 200) {
callback(null, xhr.response);
} else {
callback(status, xhr.response);
}
};
xhr.send();
}
getJSON('http://theossrv2.epfl.ch/aiida_assignment2/api/points/',
function (err, data) {
if (err !== null) {
alert('Something went wrong: ' + err);
} else {
alert('Your max_x: ' + data.max_x);
}
});
现在,我只是将max_x放在一个警告框中,只是为了看看我是否恢复了它(似乎就是这种情况)。但是当我试图以“圆圈”(即x或y坐标甚至是id)恢复数据时,我得到“未定义”(在警告框中),我不明白为什么,也不知道我怎么做实际上恢复存储在“圆圈”中的数据。
问题是,我希望能够解析我从这个网址获得的JSON,因为我需要在画布上绘制这些圆圈,如果我无法恢复这些坐标,我就无法做到。
我希望我已经足够清楚了。请注意,一般来说,我只是初学者,一般都是用JS和HTML编码,所以如果你觉得很明显,那对我来说可能就不是这样了。
答案 0 :(得分:3)
您的数据变量包含具有以下键的对象:
{
circles: [ ... ],
range: {
max_x: 300,
...
}
}
因此,为了获得max_x
,您需要阅读data.range.max_x
属性,而不仅仅是data.max_x
。
对于circles
中的数据,您将在data.circles
中拥有对象数组,因此您可以使用for
循环对其进行迭代,例如:
for (var i = 0; i < data.circles.length; i++) {
// data.circles[i] contains object with { id, x, y } properties
}
答案 1 :(得分:0)
z-index
实际上是一个具有密钥 .modal-backdrop {
z-index: 100000 !important;
}
.modal {
z-index: 100001 !important;
}
&amp;的对象。 data
和circles
是range
密钥的属性。你可以得到:
max_x
答案 2 :(得分:0)
因为它发送了
的对象{
"circles": [
{
"id": 0,
"x": 52.47599289586478,
"y": 249.77824107448706
},
{
"id": 1,
"x": 281.34253692626953,
"y": 281.34253692626953
},
{
"id": 2,
"x": 99.59752655029297,
"y": 99.36786252693544
}
],
"range": {
"max_x": 300,
"max_y": 300,
"min_x": 0,
"min_y": 0
}
}
所以你需要data.range.max_x