Перезагрузите DIV без перезагрузки всей страницы

У меня есть тег Div, который содержит php для заполнения этого div информацией, которую я хочу сделать, так это сделать так, чтобы страница вызывалась каждые 15 секунд, чтобы она могла обновлять информацию там, не перезагружая всю веб-страницу. Я попытался сделать это с помощью JavaScript / jQuery, и я просто не могу заставить его работать

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script> <script type="text/javascript"> var auto_refresh = setInterval( function () { $('.View').load('Small.php').fadeIn("slow"); }, 15000); // refresh every 15000 milliseconds </script> <div class="View"><?php include 'Small.php'; ?></div> 

это то, что я получил после поиска некоторых, и что происходит, он загружает Small.php, но не обновляет его или не обновляет информацию каждые 15 секунд.

пожалуйста помоги!

Я должен добавить все мои php-массивы, которые должны отображаться, все они исполняются в Small.php, а страница, в которую я включаю, просто изолирована.

EDIT: What No One заметил, что мой первый скрипт, ссылающийся на jQuery, не имел закрывающего тега, и это нарушало мой второй скрипт. после добавления в правильный закрывающий тег скрипт, наконец, работал, но fadeIn не отображается должным образом, не используя сначала fadeOut.

Ваш код работает, но fadeIn этого не делает, потому что он уже виден. Я думаю, что эффект, который вы хотите достичь: fadeOutloadfadeIn :

 var auto_refresh = setInterval(function () { $('.View').fadeOut('slow', function() { $(this).load('/echo/json/', function() { $(this).fadeIn('slow'); }); }); }, 15000); // refresh every 15000 milliseconds 

Попробуйте здесь: http://jsfiddle.net/kelunik/3qfNn/1/

Дополнительное уведомление: Как упоминалось в Khanh TO, вам может потребоваться избавиться от внутреннего кеша браузера. Вы можете сделать это, используя $.ajax и $.ajaxSetup ({ cache: false }); или случайный хак, он упомянул.

попробуй это

 <script type="text/javascript"> window.onload = function(){ var auto_refresh = setInterval( function () { $('.View').html(''); $('.View').load('Small.php').fadeIn("slow"); }, 15000); // refresh every 15000 milliseconds } </script> . <script type="text/javascript"> window.onload = function(){ var auto_refresh = setInterval( function () { $('.View').html(''); $('.View').load('Small.php').fadeIn("slow"); }, 15000); // refresh every 15000 milliseconds } </script> 

Ваш html не обновляется каждые 15 секунд. Причиной может быть кеширование браузера. Добавьте Math.random() чтобы избежать кеширования браузера , и лучше подождать, пока DOM будет полностью загружен, как указано @shadow. Но я думаю, что основной причиной является кэширование

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js" /> <script type="text/javascript"> $(document).ready(function(){ var auto_refresh = setInterval( function () { $('.View').load('Small.php?' + Math.random()).fadeIn("slow"); }, 15000); // refresh every 15000 milliseconds }); </script> 

Код, который вы используете, также будет включать эффект fadeout. Это то, чего вы хотите достичь? Если нет, возможно, имеет смысл просто добавить следующее INSIDE «Small.php».

 <meta http-equiv="refresh" content="15" > 

Это добавляет обновление каждые 15 секунд на страницу small.php, что должно означать, если PHP-скрипт вызван на другую страницу, перезагрузится только этот «фрейм».

Сообщите нам, если это сработало или решило вашу проблему !?

-Brad

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js" /> <div class="View"><?php include 'Small.php'; ?></div> <script type="text/javascript"> $(document).ready(function() { $('.View').load('Small.php'); var auto_refresh = setInterval( function () { $('.View').load('Small.php').fadeIn("slow"); }, 15000); // refresh every 15000 milliseconds $.ajaxSetup({ cache: true }); }); </script>