10大Ajax开发守则

开发 后端
我们知道,AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。本文介绍了Ajax开发的10大守则,希望对你有帮助。

AJAX 是一种独立于 Web 服务器软件的浏览器技术。AJAX 基于下列 Web 标准:JavaScript XML HTML CSS 在 AJAX 中使用的 Web 标准已被良好定义,并被所有的主流浏览器支持。AJAX 应用程序独立于浏览器和平台。Web 应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。   

不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。 通过AJAX,因特网应用程序可以变得更完善,更友好。下面为大家介绍Ajax开发守则。

1.前、端后都要做好安全的把关工作

不能单靠前端做安全验证工作,后端也必须有过滤机制,检验前方传来的资料。由于Ajax也会接收后端传送来的资料,对这些资料都要采不信任态度,必须加以检查。

2.尽量以HTTP POST方法传输资料

使用GET方法容易让有心人士得到资料,虽然POST并非万无一失,但比起GET至少较为安全。

3.不要直接用eval函式唤起JSON物件

JSON是采用JavaScript物件实字的资料格式,从后端传到Ajax程式时,必须采用eval函式将它从字串转成物件,这时必须先行检查资料中是否有非法字元,以免非法程式借机启用。

4.限制使用者可用的HTML语法

许多Ajax网站允许使用者在留言中使用HTML语法,而某些特定语法应该严格限制,例如<plaintext>或是<!- -这类语法,都会让置于之后的程式码失效。

5.禁止可留言的网页页面使用JavaScript语法

虽然乍看之下觉得不可思议,不过的确在一些部落格平台上发生过,这让XSS攻击开了大门。

6.使用Ajax框架,必须注意安全性问题

由于骇客利用JavaScript进行攻击手法日新月异,当网页开发人员利用Ajax框架时,必须注意框架本身是否对某些特定手法具有防治行为。

7.让使用者知道自己身处的状况

当Ajax载入资料量大时,有时会让使用者产生错觉,不确定刚刚按下的按扭是否发生作用。因此开发人员必须设计适当的提示,让使用者了解目前程式的执行状况。

8.保持小量传输

Ajax的灵活性在于动态改变局部资料量,因此小量传输资料才能达到最高效益。如果一大张资料表都要透过DOM的操作来改变,不如就由后端程式与资料库来操作,效益更高。

9.注意易用性与内容的平衡

Ajax虽然为使用者带来浏览时的易用性,不过如果将所有内容都透过Ajax来产生,会造成搜寻引擎无法索引资料的情况。因此与内容相关的部分,需谨慎使用Ajax。

10.执行优雅降级原则

网站如果并非全面性采用Ajax技术,而只是为了局部增加互动性,这时必须考量不支援JavaScript的使用者,设法在不使用这些功能的前提下,让他们还能正常地浏览网站。

【编辑推荐】

  1. jQuery+Ajax+PHP+MySQL实现分类列表管理
  2. 基于jQuery与PHP实现Ajax长轮询(LongPoll)
  3. Ajax和WEB服务数据格式:JSON JSONP
  4. 在AJAX开发中集成数据库技术
  5. 盘点ASP.NET Ajax工具箱的10大顶级控件
责任编辑:于铁 来源: 互联网
相关推荐

2014-05-15 09:44:52

2010-09-01 09:19:33

Objective-CiPhone开发iPhone

2009-09-08 14:11:18

找工作

2009-02-03 08:34:46

2020-02-07 11:20:47

Java开发代码

2021-09-26 08:45:09

C++Web前端

2010-10-11 09:34:35

AjaxASP.NET

2011-01-24 13:20:49

2009-09-14 19:23:45

敏捷开发

2012-04-08 20:52:47

游戏开发

2012-04-19 12:50:51

Java

2013-12-02 14:40:03

jQueryAjax

2013-09-12 15:02:54

iOS开发者

2012-02-20 16:45:40

Android开发新手

2020-09-27 08:47:30

JavaScript开发代码

2009-01-16 10:43:00

Web开发AJAX

2009-02-27 14:46:09

AjaxGWT开发

2012-03-06 16:46:29

jQuery MobijQuery MobiAjax

2011-09-14 16:40:44

jQuery

2011-03-08 10:15:39

J2EE
点赞
收藏

51CTO技术栈公众号