我正在尝试从此API获取数据并将其显示在我的网站上:
您可以在我的代码下面找到,但我无法使其正常工作(我的网站未显示结果)。我认为我的问题是由于数据存储在一种表中: 我试图使用表“ data [0] .XTZ.BTC”获取第一个数据,但无济于事。
// Price
// Cycle Stackexchange - Not Working
const ul3 = document.getElementById('Price');
const url3 = 'https://min-api.cryptocompare.com/data/pricemulti?fsyms=XTZ&tsyms=BTC,USD,EUR&api_key=e5e88b327eb7dbaa1e16e1cd35ed5148b5ac9a8563aa610ae615958868c79a61';
fetch(url3)
.then((resp) => resp.json())
.then(function(data){
if (data.length > 0) {
let span = document.createElement('span');
span.innerHTML = `${data[0].XTZ.BTC}`;
ul3.appendChild(span)
}
})
.catch(function(error) {
console.log(error);
});
我还使用此代码获得了另一个API,这个API完美地实现了
// Cycle - Working
const app = document.getElementById('root')
const container = document.createElement('div')
container.setAttribute('class', 'container')
app.appendChild(container)
var request = new XMLHttpRequest()
request.open('GET', 'https://api6.tzscan.io/v3/rolls_history/tz1NortRftucvAkD1J58L32EhSVrQEWJCEnB?number=1&page=0', true)
request.onload = function() {
// Begin accessing JSON data here
var data = JSON.parse(this.response)
if (request.status >= 200 && request.status < 400) {
data.forEach(movie => {
const h1 = document.createElement('h1')
h1.textContent = movie.cycle
container.appendChild(h1)
})
} else {
const errorMessage = document.createElement('marquee')
errorMessage.textContent = `Gah, it's not working!`
app.appendChild(errorMessage)
}
}
request.send()
我的目标是获取BTC,EUR和USD的价格。 您可以在这里找到Codepen,在这里我尝试了不同的代码来获取价格: https://codepen.io/anon/pen/aMXeYJ
感谢您的支持。
答案 0 :(得分:0)
API返回此结果:
result = {"XTZ":{"BTC":0.0001705,"USD":0.678,"EUR":0.5957}}
例如,访问美元的路径为:
console.log(result["XTZ"]["USD"]);
// output : 0.678
或者因为它是一个对象
console.log(result.XTZ.USD);
// output : 0.678
已更正功能:
function(data){
if (data && data.XTZ) {
let span = document.createElement('span');
span.innerHTML = data.XTZ.BTC;
ul3.appendChild(span)
}
}