Обновить страницу после сообщения отображается, 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 секунды, поэтому пользователь может действительно прочитать сообщение.
Ответы
Ответ 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
Использование тайм-аута - действительно плохая идея.