我目前正在成功重定向到主页,基于成功我希望在重定向发生之前使页面等待30或50秒,我想在等待时发出500内部错误消息。 / p>
$(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);
}
});
});
});
答案 0 :(得分:1)
只需使用timeout?
setTimeout(function() {
location.reload(true);
}, 30000);
是的,30秒非常长。
答案 1 :(得分:0)
我会在触发ajax调用时定义一个标志,然后在成功时放入一个setTimeout。
setTimeout(check_redirect, 30000);
如果错误触发,则将标志设置为false
当计时器用完时,您的回调将被触发,检查标志并继续视情况:
function check_redirect()
{
if(flag===true)
{
location.reload(true);
}
}