Ajax的一些有用的小技巧.pdfVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ajax的一些有用的小技巧.pdf

Ajax 的一些有用的小技巧 在使用Ajax 过程中,有时候总会遇到一些难题,浏览器兼容、编码、IE 下 的特殊处理等等,偶尔会搞的人头昏脑胀哭笑不得,这里列一些小贴士,或许有 些用。 使用Javascript 库 Ajax 的流行和巨大威力,让我们重新审视了Javascript 的开发,也直接促使各 种库的出现。对于普通的开发者,使用一些适合自己的 Javascript 库不仅可以 避免Ajax 应用上的浏览器兼容等问题,也使其开发更加的稳定和高效。这里列 一些我知晓的轻量级的Javascript 库: 1. YUI:YAHOO 出品,组件丰富强大健壮稳定,是团队协作开发的首选。 2. JQuery:灵活、高效,其基于CSS3 和XPath 的选择器语法引擎非常的强 大和完整。 3. Prototype:是一个非常优雅的Javascript 库,最经典的莫过于$符号了, DWR,JQuery 都被它吸引了。在它基础上出现了script.aculo.us。 4. Mootools:核心语法和Prototype 比较类似,但是用过之后才知道什么叫 简单轻巧和短小精悍。 编码问题 通过XMLHttpRequest 获取的数据,默认的字符编码是UTF-8,如果前端页面是 GB2312 或者其它编码,显示获取的数据就是乱码。通 过XMLHTTPRequest,POST 的数据也是UTF-8 编码,如果后台是GB2312 或者其他编码也会出现乱码。解决 方法: 1. 统一到UTF-8。这也是国际化的必然趋势。 2. 输出通过XMLHttpRequest 获取的文本文本时,在headers 中增加文本声 明(直接HTML 声明没有作用)。如: PHP:header(Content-Type:text/html;charset=GB2312); ASP:Response.Charset = GB2312 JSP:response.setHeader(Charset,GB2312); 3. WWW 服务器上强制声明。比如:apache 下的配置: AddDefaultCharset GB2312 这种情况主要是应对通过XMLHttpRequest 访问的文件是静态文件,无法 声明headers 的情况下。 静态页面一般都会经过Apache 的deflate 或gzip 压缩,此时在上面情况 下IE 中,首次通过XMLhttpRequest 获得的数据可以正常显 示,但再获 取数据显示时出现乱码,这次因为再次获取的数据来自缓存,可能由于浏 览器解压缩的问题导致Apache 设置的默认编码声明丢失。由于这种情况 下 一般是纯文本,可能还无法禁止缓存,可以设置XMLhttpRequest 访问 的文本文件不压缩来解决这个问题。 4. 非UTF-8 页面通过XMLHttpRequest 获取的文本文本输出前字符转码成 unicode,或者编码直接是UTF-8,可以正常显示。如实例所示。 IE 下的缓存问题 由于IE 的缓存处理机制问题,每次通过XMLHttpRequest 访问动态页面返回的总 是首次访问的内容,解决方法有: 1. 客户端通过添加随机字符串解决。如: var url = /; url += ?temp= + new Date().getTime(); url += ?temp= + Math.random(); 2. 在HTTP headers 禁止缓存。如: HTTP: meta http-equiv=pragma content=no-cache / meta http-equiv=Cache-Control content=no-cache, must-revalidate / meta http-equiv=expires content=Thu, 01 Jan 1970 00:00:01 GMT / meta http-equiv=expires content=0 / PHP: header(Expires: Thu, 01 Jan

文档评论(0)

aiwendang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档