#javascript #json #api #rest #binance
#javascript #json #API #rest #binance
Вопрос:
Я создал 2 файла .js со скриптами внутри них, которые затем вызываются app.html
Я пытаюсь вызвать как спотовую цену, так и процентное изменение за 24 часа из Binance rest API. Моя проблема в том, что он выводит процентное изменение в HTML-элементе spot pricing. Я думаю, это как-то связано с тем, что идентификатор процентного символа совпадает с идентификатором символа спотовой цены, но я не уверен.
Что я сделал не так?
Вот документы финансового rest API.
HTML
<div class="div-block-3">
<div class="text-block-2"><span class="currency-title">USD</span> <span class="currency-symbol">$</span><strong id="BTCUSDT" class="rates">11,794.00</strong></div>
<div id="BTCUSDT" class="text-block-6"><strong class="negative">-1.84%</strong></div>
</div>
процент изменения за 24 часа .js
function load() {
var url_base = "https://api.binance.com/api/v3/ticker/24hr?symbol="
var elements = document.getElementsByClassName('text-block-6');
for (var i = 0; i < elements.length; i ) {
var id = elements[i].id;
var url = url_base id;
var ourRequest = new XMLHttpRequest();
ourRequest.open('GET', url, true);
ourRequest.onload = function () {
console.log(this.responseText);
var obj = JSON.parse(this.responseText);
document.getElementById( obj.symbol ).innerHTML = obj.priceChangePercent;
};
ourRequest.send();
}
}
window.onload = load;
спотовые цены .js
function load() {
var url_base = "https://api.binance.com/api/v3/ticker/price?symbol="
var elements = document.getElementsByClassName('rates');
for (var i = 0; i < elements.length; i ) {
var id = elements[i].id;
var url = url_base id;
var ourRequest = new XMLHttpRequest();
ourRequest.open('GET', url, true);
ourRequest.onload = function () {
console.log(this.responseText);
var obj = JSON.parse(this.responseText);
document.getElementById( obj.symbol ).innerHTML = obj.price;
};
ourRequest.send();
}
}
window.onload = load;
Комментарии:
1. В обоих случаях вы задаете один и тот же элемент вашего документа
document.getElementById( obj.symbol ).innerHTML = obj.priceChangePercent;
. Вам нужен другой способ различать два элемента, а не поid
.