现在有2个页面,每个页面都是用的ajax去后台请求数据的,但是每个页面请求数据是需要时间的,如果快速的切换这2个页面,ajax就会出错,status=0,(0 - (未初始化)还没有调用send()方法),现在一个不友好的解决方法是将ajax改成同步的方式,但这样浏览器会出现警告:Synchronous XMLHttpRequest on the main thread is deprecated,大概意思就是ajax不推荐使用同步的方式请求数据,有其他解决办法吗

解决方案 »

  1.   

    是切换标签页那种吗?如果终止请求可以调用abort或者设置为null吧。
    如果想要数据,则设置2个相互独立的对象应该不会影响关键在于你是什么样的方式
      

  2.   


    就是左侧一个树图列表,列表里面2个链接,链接到2个页面,每个页面都要请求自己的数据,现在问题是我点击一个页面,这个时候页面数据还没有加载完成,我再点击另一个链接,这个时候ajax就会出错
      

  3.   

    我一般 在界面上处理, 使其串行化.
    ajax 发送后, 在界面加个遮罩, 阻止界面进一步操作, 收到结果或timeout后 隐藏遮罩. 
      

  4.   

    你这个还是让ajax变成同步的意思
      

  5.   

    这个要看一下你的ajax代码怎么写的了
      

  6.   


    $.ajax({
    url : url,
    type : "POST",
    dataType : 'jsonp',
    jsonp : "callback",
    data : param,
    //async: false, //使用同步请求
    success : function(data) {
    //数据请求页面渲染
    },
    error : function(response) {
    },
    timeout : 6000
    });
      

  7.   

    ajax jsonp方式访问