我在ajax完成后使用它来刷新/重新加载页面。
$(".method").click( function() {
if (confirm('Do : ' + $(this).attr('method') + ' ?')) {
$.ajax({ url : 'go.php?method=' + $(this).attr('method'),
success: function(){
setTimeout(function(){
window.location = "?method=view";
}, 100);
}
});
}
return false;
});
有时它会起作用并且页面会刷新,有时ajax部分可以工作,但页面不会刷新。
始终调用go.php并正确运行。
是否要让它一直运作?
由于
答案 0 :(得分:1)
我认为在ajax过程中发生了错误。将始终调用Go.php,但回复浏览器的响应显然会有所不同。您可以指定ERROR函数并执行与成功相同的操作,但您可能希望显示错误消息。
$(".method").click( function() {
if (confirm('Do : ' + $(this).attr('method') + ' ?')) {
$.ajax({ url : 'go.php?method=' + $(this).attr('method'),
success: function(){
setTimeout(function(){
window.location = "?method=view";
}, 100);
},
error: function(){
setTimeout(function(){
window.location = "?method=view";
}, 100);
}
});
}
return false;
});
或者,如果您不关心成功或错误,您可以使用完全,这将对两者都做同样的事。
$(".method").click( function() {
if (confirm('Do : ' + $(this).attr('method') + ' ?')) {
$.ajax({ url : 'go.php?method=' + $(this).attr('method'),
complete: function(){
setTimeout(function(){
window.location = "?method=view";
}, 100);
}
});
}
return false;
});
答案 1 :(得分:0)
尝试使用此代码:
$(".method").click( function() {
if (confirm('Do : ' + $(this).attr('method') + ' ?')) {
$.ajax({
url : 'go.php?method=' + $(this).attr('method'),
success: function(){
},
complete: function() {
setTimeout(function(){
window.location.href = "?method=view";
}, 100);
}
});
}
return false;
});
参考:https://api.jquery.com/jQuery.ajax/(complete
部分)