Ajax应用需要注意的事项
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
接触ajax,那时候的ajax支持还不是很好,都要涉及底层,没有现成的框架给你调用。现在把常见的问题列举如下。[br][br]1、编码问题[br][br]注意ajax要取的文件是utf-8编码的。gb2312编码传回browse后中文会乱码。如果用vbscript的话还可以转化,但是vbscript只有ie支持。[br][br]所以,选择utf-8编码是一劳永逸的办法。[br][br]2、清除服务器端文件的缓存。[br][br]当用xmlhttp取回一个服务器端的文件,文件会缓存在浏览器端。下次再取文件时,不会再去服务器取文件。所以,对于刷新频繁的文件,一定要指定文件的过期时间。[br][br]3、什么时候使用xml[br][br]ajax里的x指的就是xml,可是真的xml就是最好的解决方案吗?xml和json相比,在传递同等量的信息时,xml文件更大。所以往往json是更好的选择。不过,你还可以直接输出javascript执行,这样的效率往往更高:不需要写复杂的回调函数。不过安全问题也要更加注意。[br][br]4、两种ajax的方式[br][br]一些人的基础可能还不是很扎实,并不非常了解ajax的原理,那你知道ajax由哪两种方式来实现吗?[br][br]最古老的一种是iframe来加载一个包含js的网页,这个网页里的脚本用 top.function来调用parent页面里的函数。但是,你可以指定a的target和form的target,这样就不用序列化表单,实际上能很方便地发送表单。当然后期就稍微有点麻烦,出现问题也不容易解决。[br][br]后来就是xmlhttp组件的方式。什么时候挑选什么方式,这也是一种技巧。[br][br]5、跨域问题[br][br]如果一个脚本不在同一个域,两者就不能相互调用。如果iframe里是其他域的网页,就不能访问parent页的具体内容。如果需要访问远程的xml,比如rss feed,建议可以用服务器端脚本来中转。在访问量不是非常大的情况下还是很很好的一个解决办法。不过,翻阅jquery手册发现它能调用(执行)跨域的脚本,具体怎么做的还不是很清楚。大家可以下载jquery未加密的版本来研究下。[br][br]6、安全问题[br][br]在服务器端,虽然客户端能预处理很多东西,你仍要注意一句话:一切来自客户端的变量都是有害的。不在ajax的情况下很多程序员往往会放松警惕。这使得安全问题更隐蔽。如果是开源程序的话那么问题就会在网友面前马上暴露出来;黑盒的情况下,往往被入侵了还是找不出原因。[br][br]结语:实际上在这个框架横行的年代直接编写ajax实现代码的机会并不多,很多js框架都集成了ajax调用函数,一些服务器端的框架,例如thinkphp也集成了ajax。但是,理解一些底层的东西,还是有利于排除bug,提高ajax应用的性能的。
该文章在 2010/4/27 14:12:57 编辑过 |
关键字查询
相关文章
正在查询... |