大体如题,在初始页面时,有大量的ajax访问请求,请求时间又很长。如果用户此时点击跳转页面,要等所有的ajax请求返回后才可以跳转页面。
请问有什么办法能停止发送的请求,或者不需要等到回复就可以跳转页面呢?

解决方案 »

  1.   

    abort()
    取消当前响应,关闭连接并且结束任何未决的网络活动。这个方法把 XMLHttpRequest 对象重置为 readyState 为 0 的状态,并且取消所有未决的网络活动。例如,如果请求用了太长时间,而且响应不再必要的时候,可以调用这个方法。
      

  2.   

     
    current_request = $.get('/events', { '七夕': '发春' },function(resp) { alert(resp); }); 
    if(current_request) {current_request.abort();} 
    但是使用这个current_request.abort();方法取消的时候,实际上会触发$.ajax success事件,所以在success是的回调函数需要添加判断current_request是否存在,存在才执行回调函数 
      

  3.   

    对啊。楼上说的对,我是想点击返回按钮,或者导航栏里触发跳转操作。但是获取不到current_request的变量。没有办法取消啊。。
      

  4.   

    那有办法将所有的ajax都停止么。不用变量名称。。