cache:false
$.ajax({
   type: "POST",
   url: "some.php",   cache:false,
    success: function(msg){
      alert( "Data Saved: " + msg );
   }
 });

解决方案 »

  1.   

    在 /Controls/MiniUI/Data/AjaxFinishDataService.ashx  加一个随机数/Controls/MiniUI/Data/AjaxFinishDataService.ashx?t=Math.random()
      

  2.   

    改成同步试试:async: false
    $.ajax({
       type: "POST",
       url: "some.php",
     
        async: false,
        success: function(msg){
          alert( "Data Saved: " + msg );
       }
     });
      

  3.   

    这样改了就可以了,请问这是什么原因呢?浏览器缓存啊如果请求相同的URL ,浏览器就会去取缓存,so。。
      

  4.   

    去缓存就不会去请求你的URL地址 自然接收不到
      

  5.   

    如果http请求是同一个请求,那么浏览器会把数据缓存起来,下载再去请求时,如果缓存过了,那么直接从缓存中取数据,当然+随机参数也可以解决,原理就是让浏览器不看做同一个请求
      

  6.   

    去缓存就不会去请求你的URL地址 自然接收不到好吧,多谢了。  
    但我之前的ajax也没有cache:false
    但没有出现这种情况。不知道它是在什么情况下才会直接取取缓存结果?还有取缓存结果,是个什么情况,是直接取目标页上次返回来的结果吗?
      

  7.   

    url: "some.php?id="+datetime.now,
      

  8.   

    去缓存就不会去请求你的URL地址 自然接收不到好吧,多谢了。  
    但我之前的ajax也没有cache:false
    但没有出现这种情况。不知道它是在什么情况下才会直接取取缓存结果?还有取缓存结果,是个什么情况,是直接取目标页上次返回来的结果吗?
    你每次请求服务器,本地会有你数据请求记录的,再次请求的时候会和服务器对比,一样的就不会再去取,直接就是你之前的数据,请求地址后面加个随机参数,或者像这样请求前清除缓存..
      

  9.   

    http://www.cnblogs.com/jianjialin/archive/2009/07/01/1514475.html跟浏览器客户端cache并没有直接的关系,不要仅仅从浏览器角度去猜这个原因。它就是jQuery内部另外规定的cache机制!
      

  10.   

    通常只有在ie中才有关于“无缘无故就进行浏览器客户端缓存”的bug。在其它大品牌的浏览器中,似乎很少有类似bug。我几乎只在ie浏览器中才需要手动“删除缓存”操作。正常情况下,并不会无缘无故“浏览器客户端缓存”。除非你的页面设计有bug,从而发送了错误的head给浏览器端。jQuery的这个,会自动为请求(但是只是针对个别请求,而不是全部)加入"={timestamp}"这类时间戳。这是不管你是否发送了错误的head给浏览器端,也都会加入这个时间戳。但是 ajaxSetting 中 cache 的默认值是true,也就是并不加入这个时间戳。用true做为默认值,就足以说明,正常情况下是不需要考虑这个什么客户端缓存的。
      

  11.   

    我觉得不对吧,post请求浏览器不会缓存的。
      

  12.   

    所以一般url后面都会加一个随时会变的参数吗?
    像这样?
    &rand=" + new Date().toString() 
      

  13.   

    var s 定义的是一个局部变量,ajax调用时能识别吗?