Вывод данных из массива в режиме реального времени?
Здравствуйте.
Получаю с сервиса курсы валют в формате json, затем php функцией забираю нужную инфу и складирую в ассоциативный массив.
В массиве данные постоянно обновляются. Хотелось бы выводить на сайте курс валют в режиме онлайн.
Можно ли это сделать посредством ajax? И сильно ли это будет нагружать сервер?
Это можно и нужно делать именно ajax, чтобы не перегружать всю страницу. Нагрузка на сервер будет меньше от ajax, в отличие от перегрузки всей страницы.
Напрямую сразу с фронтенда аяксом обращаемся к скрипту, который берет эти данные у сайта поставщика и возвращает полученные данные в нужном формате (json или уже готовый html).
Александр Смирнов, да там нет ничего сложного, допустим у вас есть в на странице div в который нужно вставить данные котировок <div id="stock"></div>
Содержимое этого дива можно изменить аяксом вызвав например: $('#stock').load('stock.php');
А сам файл stock.php, это как раз скрипт, который заберет котировки, получит данные в ассоциативный массив и на его основании выведет данные, например в таблице html:
Алексей, А если напрямую с url забирать, который отдает json?
Например с этого https://api.exmo.com/v1/ticker/ как можно забрать значения buy_price у BTC_USD? Извните за банальность, но с JS и AJAX знаком совсем уж базово :)
Александр Смирнов, можно и напрямую, но тогда полученный массив JSON надо обработать и представить в удобочитаемом виде.
$.getJSON( "https://api.exmo.com/v1/ticker/", function( data ) {
$.each( data, function( key, val ) {
// тут уже делаем все что нужно с парами ключ: значение ( key, val )
});
});