如果Ajax成功,jQuery刷新/重新加载页面

时间:2014-12-26 07:44:21

标签: jquery ajax

我使用Jquery来调用Ajax。服务器返回值为&#34的Js​​on对象; true或false"像这样:

return Json(new { success = false, JsonRequestBehavior.AllowGet });

如果服务器返回true,有没有办法在5秒后刷新页面?

7 个答案:

答案 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);
    });