Пытаюсь использовать данные из API, но получаю ошибку - PullRequest
0 голосов
/ 01 октября 2018

Это мой первый раз, когда я пытаюсь использовать простой API и не могу получить хороший результат.Я использовал пример отсюда: Напишите что-нибудь, что может прочитать этот URL-адрес API Каждое изменение, которое я даю, дает мне 4 в результате и ничего в консоли.Пожалуйста, вы можете дать мне подсказку?

Спасибо!

<!DOCTYPE html>
<html>

<body>
first
<div id="fastest">
     <script> fetch("https://bitcoinfees.earn.com/api/v1/fees/recommended") // Call the fetch function passing the url of the API as a parameter
    .then((resp) => resp.json()) // Transform the data into json
    .then(function(data) {
        // Your code for handling the data you get from the API
        document.write(data.fastestFee); //And since it is just an object you can access any value like this
    })
    .catch(function(err) {
        // This is where you run code if the server returns any errors (optional)
        console.log(err)
    });
    </script> 
    </div>

    </br>second

    <div id="30">
    <script> fetch("https://bitcoinfees.earn.com/api/v1/fees/recommended") // Call the fetch function passing the url of the API as a parameter
    .then((resp) => resp.json()) // Transform the data into json
    .then(function(data) {
        // Your code for handling the data you get from the API
        document.write(data.halfHourFee); //And since it is just an object you can access any value like this
    })
    .catch(function(err) {
        // This is where you run code if the server returns any errors (optional)
        console.log(err)
    });
    </script> 
    </div>

    </br>3th

    <div id="60">
    <script> 
    fetch("https://bitcoinfees.earn.com/api/v1/fees/recommended") // Call the fetch function passing the url of the API as a parameter
    .then((resp) => resp.json()) // Transform the data into json
    .then(function(data) {
        // Your code for handling the data you get from the API
        document.write(data.hourFee); //And since it is just an object you can access any value like this
    })
    .catch(function(err) {
        // This is where you run code if the server returns any errors (optional)
        console.log(err)
    });
    </script> 
    </div>



</body>
</html>

1 Ответ

0 голосов
/ 01 октября 2018

С document.write вы заменяете существующие html-элементы значением ответа API.

Я немного реорганизовал код, поместил js в одну функцию и заменил document.write с document.getElementById(elemId).textContent, который устанавливает текущий текст выбранного элемента.Вот результат:

// Call the method passing the 3 possible values
getFee("fastest");
getFee("halfHour");
getFee("hour");

function getFee(type) {
  fetch("https://bitcoinfees.earn.com/api/v1/fees/recommended") // Call the fetch function passing the url of the API as a parameter
    .then((resp) => resp.json()) // Transform the data into json
    .then(function(data) {
      // Your code for handling the data you get from the API
      if (type === "fastest") {
        document.getElementById("fastest").textContent = data.fastestFee;
      } else if (type === "halfHour") {
        document.getElementById("30").textContent = data.halfHourFee;
      } else if (type === "hour") {
        document.getElementById("60").textContent = data.hourFee;
      }
    })
    .catch(function(err) {
      // This is where you run code if the server returns any errors (optional)
      console.log(err)
    });
}
<span>fastest</span>
<div id="fastest">

</div>

<br>
<span>halfHour</span>

<div id="30">

</div>

<br>
<span>Hour</span>

<div id="60">
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...