我一直在使用" window.location.href"很长一段时间没有任何问题。
URL正在调用首先启动转换和下载的服务器进程,通常只需要一两秒钟。但有时服务器转换/下载过程可能需要更长时间。当发生这种情况时,我的用户会看到一个讨厌的"超时"消息。
所以,我试图确定是否有任何方法,可能使用jquery的魔力,如:
$(location).attr('href',url, function() {
success: {
// success stuff
}
failure: { // failure stuff
}
});
我也考虑过使用.ajax,但我不认为我能够使用jQuery将结果写入磁盘。如果可能的话,坚持使用windows.location.href似乎要容易得多。
另一种可能性是弄清楚控制多长时间" window.location.href"愿意等。也许以某种方式使用setTimeout()? 非常感谢你。答案 0 :(得分:1)
如果使用window.location.href来触发请求,则无法处理超时
这是您使用jquery作为ajax请求执行请求的方式:
$.get("url for request").done(function(htmlReturned) {
//do whatever you like here on success, even window.location.href
}).fail(function(jqXhr, statusText, errorThrown){
//handle failure here
});
如果您需要执行帖子请求,也可以使用$ .post。如果您需要在请求中传递一些参数,可以通过$.get(url, {param1: "value1", param2: "value2"});
如果您之前没有这样做过,最好的资源是ajax page from jquery documentation($ .get和$ .post只是调用$ .ajax的简写方法)。