• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak skorzystać z API od NBP?

VPS Starter Arubacloud
+2 głosów
560 wizyt
pytanie zadane 6 sierpnia 2023 w JavaScript przez El Lirón Obywatel (1,350 p.)

Dzień dobry!

W ramach nauki API chciałem zrobić prosty kalkulatorek pokazujący ile gramów złota mozna kupić za podaną kwotę. Trochę mi się juz udało, ale nie mogę się odwołać do tej wartości (cena: 253.96). W ogóle mi to co widzę w konsoli nie wygląda na json...Co robię źle i jak "wydobyć" tę cenę złota?

Bardzo dziękuję za każdą pomoc!



 

const input = document.querySelector(".basic__input");
const confirmButton = document.querySelector(".basic__confirm");
const img = document.querySelector(".basic__img");

const goldAmount = document.querySelector(".gold__amount");
const usdAmount = document.querySelector(".usd__amount");
const eurAmount = document.querySelector(".eur__amount");

const URL = 'http://api.nbp.pl/api/cenyzlota';

let pln;
let goldPrize;
let goldAmountContent;

const calculate = () => {
    fetch(URL)
        .then(res => res.json())
        .then(data => console.log(data[0]))
};

confirmButton.addEventListener("click", calculate());

 

2
komentarz 6 sierpnia 2023 przez PH03NIX Mądrala (6,130 p.)
Z tego co pamiętam w api nbp, żeby otrzymać jsona trzeba dodać ?format=json na końcu url.
3
komentarz 6 sierpnia 2023 przez reaktywny Nałogowiec (42,200 p.)

@El Lirón,   API jest doskonale opisane, jest sporo przykładów.

Skorzystaj z linku:

http://api.nbp.pl/api/cenyzlota/last/30/?format=json

I masz wszystko.

 

 

komentarz 7 sierpnia 2023 przez pablop76 VIP (123,340 p.)

1 odpowiedź

+2 głosów
odpowiedź 6 sierpnia 2023 przez VBService Ekspert (255,840 p.)

Użyj w linku https zamiast http

przykład  [ on-line ]

const URL1 = 'https://api.nbp.pl/api/cenyzlota/';
const URL2 = 'https://api.nbp.pl/api/cenyzlota/?format=json';

const calculate = (url) => {
  fetch(url)
    .then(res => res.json())
    .then(data => {
    cenaZlota = data[0].cena;
    document.querySelector('pre').textContent += `Cena złota: ${cenaZlota}pln\n`;
  })
    .catch(error => {
    console.error('Wystąpił błąd podczas pobierania danych:', error);
  });
};

calculate(URL1);
calculate(URL2);

 

komentarz 7 sierpnia 2023 przez reaktywny Nałogowiec (42,200 p.)

To ciekawe, bo u mnie bez https wyrzuca pięknie ostatnich 30 cen złota (link powyżej).

komentarz 7 sierpnia 2023 przez VBService Ekspert (255,840 p.)
edycja 7 sierpnia 2023 przez VBService

A u Mnie przeglądarka blokuje, pomimo, że nic specjalnie nie ustawiałem w ustawieniach przeglądarki w tej kwestii.

http - błąd
Mixed Content

komentarz 7 sierpnia 2023 przez reaktywny Nałogowiec (42,200 p.)
Chrome i FF w Ubuntu wyświetlają elegancko JSON-a.

Ale kiedyś spotkałem się z tym co piszesz w scraperach.

Podobne pytania

+1 głos
1 odpowiedź 1,017 wizyt
pytanie zadane 25 sierpnia 2022 w JavaScript przez vishi7 Początkujący (430 p.)
0 głosów
1 odpowiedź 2,130 wizyt
+1 głos
1 odpowiedź 2,859 wizyt

93,008 zapytań

141,975 odpowiedzi

321,256 komentarzy

62,350 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...