Ajax应用需要注意的事项

开发 后端
AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。 本文介绍了ajax应用时的主要事项,一起来看。

接触Ajax,那时候的Ajax支持还不是很好,都要涉及底层,没有现成的框架给你调用。现在把常见的问题列举如下。

1、编码问题

注意AJAX要取的文件是UTF-8编码的。GB2312编码传回BROWSE后中文会乱码。如果用VBScript的话还可以转化,但是VBScript只有IE支持。

所以,选择UTF-8编码是一劳永逸的办法。

2、清除服务器端文件的缓存。

当用XMLHTTP取回一个服务器端的文件,文件会缓存在浏览器端。下次再取文件时,不会再去服务器取文件。所以,对于刷新频繁的文件,一定要指定文件的过期时间。

3、什么时候使用XML

Ajax里的X指的就是XML,可是真的XML就是最好的解决方案吗?XML和JSON相比,在传递同等量的信息时,XML文件更大。所以往往JSON是更好的选择。不过,你还可以直接输出Javascript执行,这样的效率往往更高:不需要写复杂的回调函数。不过安全问题也要更加注意。

4、两种Ajax的方式

一些人的基础可能还不是很扎实,并不非常了解Ajax的原理,那你知道Ajax由哪两种方式来实现吗?

最古老的一种是iframe来加载一个包含js的网页,这个网页里的脚本用 top.function来调用parent页面里的函数。但是,你可以指定a的target和form的target,这样就不用序列化表单,实际上能很方便地发送表单。当然后期就稍微有点麻烦,出现问题也不容易解决。

后来就是xmlhttp组件的方式。什么时候挑选什么方式,这也是一种技巧。

5、跨域问题

如果一个脚本不在同一个域,两者就不能相互调用。如果iframe里是其他域的网页,就不能访问parent页的具体内容。如果需要访问远程的XML,比如RSS FEED,建议可以用服务器端脚本来中转。在访问量不是非常大的情况下还是很很好的一个解决办法。不过,翻阅JQuery手册发现它能调用(执行)跨域的脚本,具体怎么做的还不是很清楚。大家可以下载JQUERY未加密的版本来研究下。

6、安全问题

在服务器端,虽然客户端能预处理很多东西,你仍要注意一句话:一切来自客户端的变量都是有害的。不在Ajax的情况下很多程序员往往会放松警惕。这使得安全问题更隐蔽。如果是开源程序的话那么问题就会在网友面前马上暴露出来;黑盒的情况下,往往被入侵了还是找不出原因。

结语:实际上在这个框架横行的年代直接编写Ajax实现代码的机会并不多,很多JS框架都集成了AJAX调用函数,一些服务器端的框架,例如THINKPHP也集成了AJAX。但是,理解一些底层的东西,还是有利于排除BUG,提高AJAX应用的性能的。

【编辑推荐】

  1. Rails 3:提高Ajax应用速度
  2. 基于jQuery与PHP实现Ajax长轮询(LongPoll)
  3. 从零开始学习jQuery之Ajax快餐
  4. 在AJAX开发中集成数据库技术
  5. AJAX/PHP/JQuery/CSS设计拖拉式购物车
责任编辑:于铁 来源: Javascript教程网
相关推荐

2009-12-22 14:46:59

NAT路由器

2015-08-19 15:33:41

布线技术

2010-04-22 12:07:37

Oracle Spat

2023-12-13 15:20:45

数据中心云计算人工智能

2011-07-21 15:40:24

iPhone 内存管理 对象

2012-07-04 14:40:37

Ajax

2011-08-08 15:06:36

布线综合布线智能家居

2010-11-24 14:12:18

MySQL创建有外键的

2010-05-26 17:05:13

SVN提交

2023-08-25 10:49:37

数据中心服务器

2009-06-10 15:36:25

ubuntu netb开发过程

2010-08-31 14:33:46

DB2游标

2010-07-15 14:47:05

Perl开发

2020-05-26 16:25:05

云计算云迁移IT

2022-05-05 09:31:34

Go语言漏洞

2009-11-14 09:59:46

2020-10-26 14:01:22

Java泛型

2017-05-10 17:00:22

灾难恢复云计算数据中心

2013-09-29 10:36:08

VMware虚拟化

2009-04-23 14:30:19

UML建模
点赞
收藏

51CTO技术栈公众号