使用location.href进行慢速请求

时间:2015-11-15 00:05:47

标签: javascript jquery href

我一直在使用" 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()?

非常感谢你。

1 个答案:

答案 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的简写方法)。