当前位置: 移动技术网 > IT编程>脚本编程>Ajax > Ajax使用杂谈 也许也是乱弹

Ajax使用杂谈 也许也是乱弹

2017年12月12日  | 移动技术网IT编程  | 我要评论
随着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下来仅仅测试下就加入了我们的项目,我觉得这是一个很不好的习惯。很容易得不偿失。

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网