AllDecay
@AllDecay
Вечно отдыхающий.

Моментальная подгрузка информации из json. Как реализовать?

Пишу сайт для студенческого радио своего университета и наткнулся на некоторое затруднение с реализацией вывода информации о текущем треке.
В icecast реализовал вывод информации маунта в json(выглядит это так):
{
"response":
      { 
      "name" : "Music",
      "listeners" : "12",
      "description" : "Description",
      "title" : "Soare - all i want",
      "genre" : "Ofther",
      "url" : "example.com"
}
}

Посредством json_decode в php вынимаю название трека:
$status = file_get_contents("http://example.com:8000/info.xsl");
$status = json_decode($status);
$track = $status->response;
	
if ($track->title != null)
{
	echo '<marquee behavior="scroll" scrollamount="3" direction="left">'.$track->title.'</marquee>';
	} else {
	echo 'Error:';
}

(Сделал сразу бегущей строкой для удобства)
И вот таким, возможно, что ужасным, кодом обновляю информацию на сайте и кидаю ее в div блок.
function show(url,block) 
	{
		$.ajax({ 
			url: url, 
			cache: false, 
			success: function(html){ 
				block.html(html); 
				} 
			}); 	
	}
			$(document).ready(function(){ 
			setInterval(function() { show('getTrack.php',$('#song-title')); } ,5000);
			});

Но из-за интервала в 5 секунд название трека подгружается не сразу и портит вид пустой строкой. Как можно реализовать моментальную подгрузку трек? (интервал в 1сек будет только напрасно сжигать трафик радиослушателей). Жду помощи)
  • Вопрос задан
  • 483 просмотра
Решения вопроса 2
Denormalization
@Denormalization
$(document).ready(function(){ 
      show('getTrack.php',$('#song-title'));
      setInterval(function() { show('getTrack.php',$('#song-title')); } ,5000);
});
Ответ написан
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Во-первых, почему бы сразу напрямую не забирать из icecast данные по ссылке example.com:8000/info.xsl?
Зачем лишнюю прокладку php делать.

Во-вторых, что мешает при загрузке страницы сразу вызвать функцию show(), помимо запуска интервала?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы