AJAX技巧及问题(如何去除AJAX取过值后IE的缓存及取得xmlHttp.status状态时为空问题,在AJAX中如何传递中文)

转载 2007年09月21日 15:28:00
1,如何去除AJAX取过值后IE的缓存?
A:在url后面加一个当前时间。即,uri = uri + "&nocache="+new Date().getTime();
 
2,在使用AJAX的时候发现在取得xmlHttp.status状态时为空,造成JS的ERROR信息错误,应该如何解决?
A:这种情况绝大多数情况是因为用户在ajax.open时采用了异步调用的方式进行处理,即在服务器未影响时继续执行,因此会造成不能及时获得处理信息,造成ajax.status为空。
解决方案:ajax.open("GET",uri,false),将异步变为false即可。
 
3,在AJAX的URI中如何传递中文?
A:AJAX不能直接传递中文,因此就需要对中文进行编码与解码的处理。
编码:"username=" + escape("小红");   //会变成%u8e8d等
解码:(PHP)可以使用,下面的函数进行解码
// SUIL 20070303 将JS使用escape的URI转为正常汉字 START
function unescape($str)
{
         $str = rawurldecode($str);
         preg_match_all("/%u.{4}|&#x.{4};|&#/d+;|.+/U",$str,$r);
         $ar = $r[0];
         foreach($ar as $k=>$v) {
                  if(substr($v,0,2) == "%u")
                           $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));
                  elseif(substr($v,0,3) == "&#x")
                           $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));
                  elseif(substr($v,0,2) == "&#") {
                           $ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1)));
                  }
         }
         return join("",$ar);
}
// SUIL 20070303 将JS使用escape的URI转为正常汉字 END
 
 

IE8浏览器缓存问题导致Ajax的GET请求只能执行一次的解决办法

最近在测试兼容性问题的时候发现,使用Ajax的GET请求向后台获取响应结果时,如果是IE8浏览器,第一次发送请求时会得到正常的返回结果,然后当再去发送相同请求访问后台时,得到的结果总是第一次请求返回的...
  • DeveloperFanyl
  • DeveloperFanyl
  • 2015年09月25日 16:06
  • 4894

AJAX 缓存问题的两种解决方法(IE)

做一个项目用到Ajax,开始觉得挺好,后来发现一个问题,例如删除一项,恢复之后就不能再接着删除, 必须要等一段时间,后来知道是IE缓存的问题 AJAX缓存页面是一个刚接触AJAX的人一定会遇到的问...
  • yaoyaoopen
  • yaoyaoopen
  • 2013年12月23日 16:56
  • 1452

解决ajax调用中ie的缓存问题

解决ajax调用中ie的缓存问题 ajax请求调用的过程中发现的问题:后台请求是一个简单的.aspx文件,而这个页面又没有考虑过缓存的影响,使用ajax调试的时候发现有时候根本不走后台代码直接返回结...
  • u013430672
  • u013430672
  • 2014年06月17日 17:52
  • 571

Ajax页面缓存问题分析与解决办法

Ajax页面缓存是ajax处理数据时对一些重复相同数据进行一个缓存操作,这样从另一个层面对于我们来讲是非常的不错了,但有时我们并不希望它缓存要如何处理呢?下面我们一起来看看关于页面缓存问题分析与解决,...
  • u012836851
  • u012836851
  • 2015年11月20日 11:52
  • 8521

解决jquery ajax中文传递到后端出现乱码问题 java

这几天,好久没有写过了,今天一个ajax提交中文乱码的问题需要解决,在徘徊了一天,看到了一个人的高见,必杀技解决了这个问题,页面有个中文搜索需要传递到后台,发现,无论是jquery的post还是get...
  • lilovfly
  • lilovfly
  • 2017年04月20日 12:27
  • 1157

Ajax向java后台中传值为数组时,后台接收不到(为null)的问题

Ajax向java后台中传值为数组时,后台接收不到(为null)的问题 项目中前端jsp页面中有复选框,需要使用到ajax把这些值传递到java后台的操作。因为还需要返回数据到前端页面,所...
  • qq_35124535
  • qq_35124535
  • 2017年01月09日 15:30
  • 141

jsp与ajax的数据传递

转自:http://blog.csdn.net/rushkid02/article/details/7515058 下面介绍JSP前台表单内容通过Ajax异步提交到后台Servlet...
  • zhangqindabendan
  • zhangqindabendan
  • 2016年11月02日 10:49
  • 1781

php jquery ajax 无法传递POST值的问题

做毕业设计从上周3开始,就遇到在表单页面中将数库传到php处理页面,无法接收到表单数据的问题。不管我怎么调试都不能把POST的值传递到php的处理页面,我已经试了4天了,连今天是第五天,原来是问题出现...
  • jaray
  • jaray
  • 2014年02月17日 16:19
  • 2211

Ajax需要注意的几个问题

在应用Ajax时,需要注意安全问题、性能问题和浏览器兼容性问题,下面进行具体介绍。 一 安全问题 随着网络的普及,安全问题已经是一个不可忽略的重要问题了。由于Web本身就是不安全的,所以尽可能降低...
  • chengqiuming
  • chengqiuming
  • 2017年04月12日 10:49
  • 222

Ajax向java后台中传值为数组时,后台接收不到(为null)的问题

项目中前端jsp页面中有复选框,需要使用到ajax把这些值传递到java后台的操作。因为还需要返回数据到前端页面,所以无法使用form表单提交。 (对了,我在一群里问了这个问题,然后两个热心...
  • huqingpeng321
  • huqingpeng321
  • 2016年11月08日 21:19
  • 5613
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AJAX技巧及问题(如何去除AJAX取过值后IE的缓存及取得xmlHttp.status状态时为空问题,在AJAX中如何传递中文)
举报原因:
原因补充:

(最多只允许输入30个字)