Задать вопрос
AllDecay
@AllDecay
Вечно отдыхающий.

JS не хочет обновлять div блок. Как лечить?

Есть страница с информацией и на ней находится такой блок в котором должна выводиться информация о стриме Twitch. Вот этот блок:
<div id="stream" class="alert alert-info"></div>
Для получения информации о стриме использую отдельный php-файл следующего содержания:
<?
	$stream = file_get_contents("https://api.twitch.tv/kraken/streams/dota2ruhub");
	$stream = json_decode($stream);
	$status = $stream->stream;
	
	if ($status != null)
	{
		echo 'Статус: Онлайн</br>Игра: '.$status->game.'</br>Зрителей: '.$status->viewers;
		} else {
		echo 'Сейчас никто не стримит :(';
	}
?>

Через JS пытаюсь обновлять информацию в этот блок каждую секунду. Вот JS-код:
function show(url,block) 
	{
		$.ajax({ 
			url: url, 
			cache: false, 
			success: function(html){ 
				block.html(html); 
			} 
		}); 
		
	}
	
	$(document).ready(function(){ 
		setInterval(show('/getTwitch.php',$('#stream')),1000);
	});


В итоге ничего не имею.. Блок остается пустым при загрузке страницы и после. В чем загвоздка у js?
  • Вопрос задан
  • 318 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
PerfectoWeb
@PerfectoWeb
Создание сайтов любой сложности
Если PHP возвращает все верно, без ошибок, то:

замените
setInterval(show('/getTwitch.php',$('#stream')),1000);

на
setInterval(function(){show('/getTwitch.php',$('#stream'));},1000);
Ответ написан
Ivanq
@Ivanq
Знаю php, js, html, css
1) Оберните в функцию:
setInterval(function() { show('/getTwitch.php',$('#stream')); } ,1000);

2) Напишите HTML правильно:
echo 'Статус: Онлайн<br/>Игра: '.$status->game.'<br/>Зрителей: '.$status->viewers;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы