我已经使用"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()?
非常感谢。
发布于 2015-11-15 08:16:04
如果使用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请求,也可以使用$.post。如果你需要在请求中传递一些参数,你可以这样做:$.get(url, {param1: "value1", param2: "value2"});
如果您以前没有这样做过,最好的资源是ajax page from jquery documentation ($.get和$.post只是调用$.ajax的简写)。
https://stackoverflow.com/questions/33714880
复制相似问题