2012-12-03 82 views
0

我目前正在重定向到成功的主頁,基於成功我希望使頁面在重定向發生之前等待30或50秒,並且我希望在發生500內部錯誤消息時等待檢查。在轉發到另一個頁面之前,如何讓頁面等待?

$(function() { 
       $("#save").click(function() { 

        $.ajax({ 
         type: "POST", 
          url: "cng.json", 
          data: json_data, 
          contentType : 'application/json', 
          success: function(data, textStatus, xhr) {       
           console.log(arguments); 
           console.log(xhr.status); 
           alert("Your changes are being submitted: "+ textStatus +" : "+ xhr.status); 
//modal window message 
    $('<div id="loading">Loading...</div>').insertBefore('#myform'); 
         // add code here to wait for 30 sec before redirecting and check for 500 error code  
           location.reload(true); 

          }, 

          error:function(jqXHR, textStatus, errorThrown) { 
          alert(jqXHR.responseText+" - " +errorThrown + " : " +jqXHR.status);      

          } 
         }); 

        }); 
       }); 
+2

您的代碼縮進樣式是否遵循任何邏輯規則,還是隻是隨機的? ':P' –

回答

1

只需使用一個timeout

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

順便說一句,30秒很長。

0

我會定義一個標誌,因爲ajax調用被觸發,然後在你的成功中放入setTimeout。

setTimeout(check_redirect, 30000); 

如果錯誤火災然後設置標誌設置爲false

當計時器耗盡你的回調將被解僱,檢查標誌,並繼續酌情:

function check_redirect() 
{ 
    if(flag===true) 
    { 
     location.reload(true); 
    } 
} 
相關問題