欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Ajax使用杂谈 也许也是乱弹

程序员文章站 2022-03-31 13:59:59
随着ajax技术的出现、盛行,本被忽视认为是二流编程语言的javascript脚本也开始了新的盛行,大量的javascript框架的出现如microsoft asp.net...
随着ajax技术的出现、盛行,本被忽视认为是二流编程语言的javascript脚本也开始了新的盛行,大量的javascript框架的出现如microsoft asp.net ajax、jquery等。ajax已经成为这些脚本框架必不可少的组成部分了,而且ajax的开发也越来越简单化。

ajax是一种已不是加载脚本,其最古老的实现方式是利用iframe来加载远程的脚本利用top.function来调用父窗体的方法。利用a等html的target属性来指定。简单但是后期维护复杂化了并且在跨越方面很麻烦。接着就xmlhttprequest对象的出现,一定程度的简化了ajax的开发,但是在不同的浏览器中实现有很多大不同,firefox中xmlhttprequest和ie中的activeobject等方式,以及它仅提供了很少和简单的ajax请求和处理。在现在出现了很多的javascript框架,在基于xmlhttprequest的封装和类库的提供,极大的简化了我们的ajax编程。其中最为出名和盛行的jquery框架。这里需说出的是jquery很好实现了跨域问题。

下面我就说几点自己目前想到的ajax注意或者技巧,思维也许有点乱,请谅解,将的不好,也请原谅。

1:ajax中的x是xml,它也可以很方便的加载xml,但是我个人觉得架子啊xml是个很不好的方式。首先大家都知道xml是一种严格的数据存储方式,有很多冗余信息。再则xml的处理也有一定的复杂性。xml能实现跨平台性,如webservice,这是webservice的优点,但是也是一个致命的缺点,它基于的xml冗余信息,所以在分布式中速度也是很慢的。

相比而言json对象是一个轻量级的存储方式,它是以名值对的形式存储。而且javascript脚本本身就是一个天然的json对象,无需转化,可以直接使用,并且现在.net框架中提供了对json序列化的支持.我个人观点是首选json。

2:在服务器端为了性能等的考虑经常会有缓存,以及浏览器的缓存。有时我们需要避免,最简单的方式是加上一个时间戳,"default.aspx?time=” + datetime.now。就可以避免缓存。如果你用的是jquery的ajax那可以直接设置cache:false禁用缓存。

3:在ajax编程需要注意的是content-type,有html、text、json、xml、script等方式。我们很多的无故的错误经常就在这里的设置。需要注意ajax的content-type,以及服务端输出的content-type。还有就是服务器端,我们要输出前的response.clear(),response.contenttype=type,以及完成时的response.flush()和response.clos()。

4:ajax并不是高交互、高用户体验的代表,这需要说明。我们的应用不该首选ajax技术,因为如果ajax技术用的不是很好,那反而会适得其反。还有就是如果要用ajax,那我们就必须为客户准备退路,因为ajax请求很可以由于各种原因而出错。

5:ajax必究是基于客户端脚本,这就意味在存在一定的安全隐患,很容易暴露我们的某些敏感信息。特别是网上的脚本代码糜烂,我们有些人经常会在网上copy下来仅仅测试下就加入了我们的项目,我觉得这是一个很不好的习惯。很容易得不偿失。

时间已晚,就说这么多吧,如果你还有什么心得或建议请留言。如果你有不懂的疑问也可以留言,我会尽力和尽快回复。