Подтвердить что ты не робот

Обновить страницу после сообщения отображается, jQuery

Сейчас у меня есть форма, в которой пользователь вводит информацию. Это чем обработанная функция bu jQuery ajax и установлена ​​на return false;, поэтому перезагрузка страницы не происходит после того, как пользователь отправит форму. Хотя мне нужно перезагрузить страницу, но если я удалю return false;, она обновит страницу до появления успешного сообщения (это сообщение отображается после отправки пользователем данных).

     $.ajax({
      type: "POST",
      url: "scripts/process.php",
      data: dataString,
      success: function() {
       $("#st_message").html("<p> Your article was successfully added!</p>");
       //I need to reload page after the above message is shown
      }
     });
    return false;

Итак, как я могу перезагрузить страницу после сообщения <p> Your article was successfully added!</p>, с небольшой задержкой, скажем, 2 - 3 секунды, поэтому пользователь может действительно прочитать сообщение.

4b9b3361

Ответ 1

Вы можете добавить задержку с помощью функции setTimeout(), например:

// This will reload the page after a delay of 3 seconds
window.setTimeout(function(){location.reload()},3000)

Для ваших нужд:

$.ajax({
      type: "POST",
      url: "scripts/process.php",
      data: dataString,
      success: function() {
           $("#st_message").html("<p> Your article was successfully added!</p>");
           window.setTimeout(function(){location.reload()},3000)
      }
});
return false;

Рабочий пример

Ответ 2

Сделайте это с чем-то вроде:

function delayedRedirect(){
    window.location = "/index.php"
}

setTimeout('delayedRedirect()', 3000)

setTimeout используется для задержки вызова функции перенаправления, в этом случае вы можете перенаправить куда-нибудь на новый URL-адрес (на случай, если вам это тоже нужно).

В противном случае используйте location.reload() для перезагрузки страницы.

Ответ 3

Вы имеете в виду что-то вроде: window.location.reload() в JavaScript

Ответ 4

используйте его

setTimeout("window.location='yourpage.php'",3000);

в вашем коде:

 $.ajax({
       type: "POST",
       url: "scripts/process.php",
       data: dataString,
       success: function() {
        $("#st_message").html("<p> Your article was successfully added!</p>");
        setTimeout("window.location='yourpage.php'",3000);//reload after 3 sec.
       }
      });
 return false;

Ответ 5

Используйте метод setTimeout для получения задержки, а метод reload - для перезагрузки страницы. Обратите внимание на параметр true в вызове reload, чтобы убедиться, что страница действительно перезагружена, а не просто перекрашена из кеша.

window.setTimeout(
  function(){
    location.reload(true)
  },
  3000
);

Ответ 6

 $.ajax({
  type: "POST",
  url: "scripts/process.php",
  data: dataString,
  success: function() {
  var miliseconds = 2000;

   $("#st_message").html("<p> Your article was successfully added!</p>");
   setTimeout("window.location=window.location", miliseconds);
   //I need to reload page after the above message is shown
  }
 });

Ответ 7

<script type="text/javascript">
 //
 //your action here
 //
 window.setTimeout(function(){self.parent.location="?list"},3000);//after 3 sec go to (?list or example.html page)
 return false;
</script>

Ответ 8

Использование тайм-аута - действительно плохая идея.