我使用Jquery来调用Ajax。服务器返回值为&#34的Json对象; true或false"像这样:
return Json(new { success = false, JsonRequestBehavior.AllowGet });
如果服务器返回true,有没有办法在5秒后刷新页面?
答案 0 :(得分:39)
在你的ajax成功回调中这样做:
success: function(data){
if(data.success == true){ // if true (1)
setTimeout(function(){// wait for 5 secs(2)
location.reload(); // then reload the page.(3)
}, 5000);
}
}
由于您想在5秒后重新加载页面,因此您需要按照答案中的建议进行超时。
答案 1 :(得分:9)
location.reload();
您可以使用reload
条件中的if
功能获得成功,并在条件成功后重新加载页面。
答案 2 :(得分:6)
if(success == true)
{
//For wait 5 seconds
setTimeout(function()
{
location.reload(); //Refresh page
}, 5000);
}
答案 3 :(得分:1)
var val = $.parseJSON(data);
if(val.success == true)
{
setTimeout(function(){ location.reload(); }, 5000);
}
答案 4 :(得分:1)
今天出于好奇,这里有很多好的答案,不是最好使用setInterval
而不是setTimeout
吗?
setInterval(function() {
location.reload();
}, 30000);
让我知道您的想法。
答案 5 :(得分:0)
$.ajax("youurl", function(data){
if (data.success == true)
setTimeout(function(){window.location = window.location}, 5000);
})
)
答案 6 :(得分:0)
我更喜欢这种方式
使用ajaxStop
+ setInterval
,将在同一页面中的任何 XHR [ajax] 请求之后刷新页面
$(document).ajaxStop(function() {
setInterval(function() {
location.reload();
}, 3000);
});