Ajax使用杂谈 也许也是乱弹

随着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下来仅仅测试下就加入了我们的项目,我觉得这是一个很不好的习惯。很容易得不偿失。

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

(0)

相关推荐

  • Ajax使用杂谈 也许也是乱弹

    随着Ajax技术的出现.盛行,本被忽视认为是二流编程语言的JavaScript脚本也开始了新的盛行,大量的JavaScript框架的出现如Microsoft Asp.Net Ajax.jQuery等.Ajax已经成为这些脚本框架必不可少的组成部分了,而且Ajax的开发也越来越简单化. Ajax是一种已不是加载脚本,其最古老的实现方式是利用iframe来加载远程的脚本利用top.Function来调用父窗体的方法.利用a等HTML的target属性来指定.简单但是后期维护复杂化了并且在跨越方面很麻

  • ajax 技术和原理分析

    ajax所包含的技术 大家都知道ajax并非一种新的技术,而是几种原有技术的结合体.它由下列技术组合而成. 1.使用CSS和XHTML来表示. 2. 使用DOM模型来交互和动态显示. 3.使用XMLHttpRequest来和服务器进行异步通信. 4.使用javascript来绑定和调用. 在上面几中技术中,除了XmlHttpRequest对象以外,其它所有的技术都是基于web标准并且已经得到了广泛使用的,XMLHttpRequest虽然目前还没有被W3C所采纳,但是它已经是一个事实的标准,因为目

  • 简述Ajax的优点与缺点

    ajax的优点 Ajax的给我们带来的好处大家基本上都深有体会,在这里我只简单的讲几点: 1.最大的一点是页面无刷新,在页面内与服务器通信,给用户的体验非常好. 2.使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力. 3.可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本.并且减轻服务器的负担,ajax的原则是"按需取数据",可以最大程度的减少冗余请求,和响应对服务器造成的负担. 4.基于标准化的

  • 浅析Ajax的 原理及优缺点

    1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google suggest以及gmail等对ajax技术的广泛应用,催生了ajax的流行.而这也让微软感到无比的尴尬,因为早在97年,微软便已经发明了ajax中的关键技术,并且在99年IE5推出之时,它便开始支持XmlHttpRequest对象,并且微软之前已经开始在它的一些产品中应用ajax,比如说MSDN网站菜单中的一些应用.遗憾的是,不知道出于什么想法,当时微软发明了aja

  • Ajax工作原理深入理解

    1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google suggest以及gmail等对ajax技术的广泛应用,催生了ajax的流行.而这也让微软感到无比的尴尬,因为早在97年,微软便已经发明了ajax中的关键技术,并且在99年IE5推出之时,它便开始支持XmlHttpRequest对象,并且微软之前已经开始在它的一些产品中应用ajax,比如说MSDN网站菜单中的一些应用.遗憾的是,不知道出于什么想法,当时微软发明了aja

  • 浅析Ajax语法

    Ajax是目前很普遍的一门技术,也是很值得探讨和研究的一门技术.本文将针对Ajax的发展过程并结合其在不同库框架中的使用方式来和大家分享下Ajax的那些新老语法. Ajax简介 Ajax全称为"Asynchronous Javascript And XML", 即"异步JavaScript和XML"的意思.通过Ajax我们可以向服务器发送请,在不阻塞页面的情况下进行数据交互,也可以理解为异步数据传输.在Ajax的帮助下我们的网页只需局部刷新即可更新数据的显示,减少了

  • 通过history解决ajax不支持前进/后退/刷新的问题

    前言: 现在前后端基本都是通过ajax实现前后端接口数据的交互,但是,ajax有个小小的劣势,即:不支持浏览器"后退"和"前进"键. 但是,现在我们可以通过H5的histroy属性 解决ajax在交互请求的这个小bug. 事件描述: H5增加了一个事件window.onpopstate,当用户点击那两个按钮就会触 发这个事件.但是光检测到这个事件是不够的,还得能够传些参数,也就是说返回到之前那个页面的时候得知道那个页面的pageIndex.通过 history的pu

  • AJAX 缓存问题的两种解决方法(IE)

    做一个项目用到Ajax,开始觉得挺好,后来发现一个问题,例如删除一项,恢复之后就不能再接着删除, 必须要等一段时间,后来知道是IE缓存的问题 AJAX缓存页面是一个刚接触AJAX的人一定会遇到的问题,造成这个问题的关键性人物又是Ie... 在网上找了好多资料后,总结一下 1:在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数 在javascript发送的URL后加上t=Math.random() 当然,不是直接把t=Math.random()拷贝到URL后面,应该像这样:URL+"&a

  • 一个有趣的Ajax Hack示范

    今天在梦之光芒的BLOG上看见了一个Ajax Hack示范,其实跨站发现很容易,但是要做到大危害还是很难,偷偷COOKIE什么的只针对用户而已,XSS WORM的那种利用才是可怕的. 来看看他的一段VBSCRIPT脚本 复制代码 代码如下: vbscript:execute("  dim l,s:  l=chr(13)+chr(10):  s=""sub mycode""&l:  s=s&""dim http,url,p

  • Ajax开始准备入门篇

    我将在Web圈推出ajax原创系列教程,如果你还不知道什么是ajax,请阅读:ajax是什么? 在此之前我们需要做一下简单的ajax准备工作,但你必须要具备基本的html,javascript,dom编写能力.否则这个ajax教程你读起来会很吃力.我的目的是通过这份教程.可以让你在你的网页中使用ajax技术实现,读取,添加,修改,删除数据的操作.也许你是只老鸟对我写的这些不屑一顾,但我还是希望你能看 下该教程中演示的一些例子,没准会有地方吸引你! 下面我们要做的有2点.第1我们必须创建一个可用的

随机推荐