本帖最后由 wjf8882300 于 2009-10-26 20:30:53 编辑

解决方案 »

  1.   

    Ajax请求缓存引起的问题SendRequest("GetHelpId.ashx?"+Math.random(),SetResult);
    每次发请求加上随机数就可以了。
      

  2.   

    加个随机参数,因为ie会默认缓存
    SendRequest("GetHelpId.ashx?rd="+new Date().valueOf(),SetResult);
      

  3.   

    "SendRequest("GetHelpId.ashx",SetResult);"
    加一個隨機參數,讓其刷新
      

  4.   

    IE中如果XMLHttpRequest提交的URL与历史一样则使用缓存,根本不向服务器端提交。因此无法取到刚提交的数据或新的数据
    改进服务器端
    直接加上<%@ OutPutCache Location="None"%>即可。
    但是如果后台是.ashx文件通常在类里直接修改缓存设置。
            context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
    改进客户端
    利用加随机数或加时间戳改变请求地址
    加随机数:var url='AjaxOperations.aspx?rdm='+Math.random()+'&action='+op;
    加时间戳:var url='AjaxOperations.aspx?dtStamp='+new Date().getTime()+'&action='+op; 前台异步调用设置XMLHttpRequest对象的属性
    在XMLHttpRequest发送请求之前加上XMLHttpRequest.setRequestHeader("If-Modified-Since","0")