setInterval исполняет функцию только однократно
Здравствуйте, уважаемые форумчане!
Прошу помочь в решении такой проблемы: <script type="text/javascript"> function show(url, block) { //alert("show()" + url); url_target = url; $.ajax({ cache: false, url: url_target, success: function (html) { block.html(html); } }); } function showAll() { show('../DataTable.html', $('#DataListPlaceholder')); show('../Graph.html', $('#GraphPlaceholder')); } $(document).ready(function () { setInterval(show('../DataTable.html', $('#DataListPlaceholder')), 5000); setInterval(show('../Graph.html', $('#GraphPlaceholder')), 5000); }); </script> Здесь вызовы функции show() происходят однократно, а не каждые 5 секунд. Файлы, передаваемые как url, поначалу могут не существовать, создаются контроллером (ASP.NET MVC) в фоновом потоке. Хотелось бы, чтобы по мере создания/обновления файлов, они отражались на главной вьюшке. С JavaSсript работаю впервые, поэтому прошу объяснять как тупому. Заранее огромное спасибо за помощь! |
show(...) - это вызов функции.
Ваш setInterval соответственно пытается запустить результат вызова - то, что функция вернула. Нужно либо: setInterval(show, 5000);а конкретные ссылки определять в самой функции, либо оборачивать: setInterval(function(){ show(...); }, 5000); |
спасибо большое! Теперь работает :)
|
Часовой пояс GMT +3, время: 03:46. |