Как отобразить определенное значение из вызова API на простой HTML-странице?

#javascript #html #json

#javascript #HTML #json

Вопрос:

У меня очень базовые знания HTML и почти никаких знаний о javascript или jquery и т. Д. Большинство ответов на SO относятся к ним, поэтому я публикую этот вопрос в надежде, что кто-нибудь сможет меня направить. Я работал с API с такими языками, как R и python, но искал легкое решение. У меня есть статический URL-адрес API, который возвращает объект json.

https://maps.googleapis.com/maps/api/distancematrix/json?units=imperialamp;origins=Washington,DCamp;destinations=New York City,NY

Мне нужна очень простая html-страница, которая при открытии получает данные и отображает одно из полей в объекте json. В этом случае длительность: текст. Я могу обновлять страницу каждый раз, когда мне нужно последнее значение, но автоматическое обновление страницы каждые x секунд было бы еще более потрясающим.

Ответ №1:

 var a = setInterval(()=>fetch("https://query.yahooapis.com/v1/public/yql?q=select rows.elements.duration.text from json where url='https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=Washington,DC&destinations=New+York+City,NY'amp;format=jsonamp;env=store://datatables.org/alltableswithkeys")
.then(r=>r.json()).then(b=>console.log(b.query.results.json.rows.elements.duration.text)),2000);  
 <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>  

Как это выглядит для вас?

Комментарии:

1. Мне действительно нужно больше изучать JS. Это почти похоже на волшебство. Я понимаю, что делает первая часть. Но какова цель 2-й части и что там делает api yahoo. В основном это отвечает на мой вопрос, но теперь у меня появилось больше вопросов 🙂

2. @Rohit По сути, это использует последние системы Promise и fetch для сбора данных с использованием языка запросов Yahoo, затем преобразования в JSON, отображения точки данных и повторения каждые 2000 мс.