浅谈Ajax

   最近又学习关于jquery中封装的Ajax的方法,越来越感觉到Ajax的好用,所以就想总结一下Ajax的强大之处。

Ajax全称Asynchronous JavaScript and XML,顾名思义:异步的 JavaScript 和 XML,当然XML已经逐渐被Json所取代了。在2005年,Google通过其Google Suggest使Ajax变得流行起来。Google Suggest 使用Ajax创造出动态性极强的web界面:当您在谷歌的搜索框输入关键字时,JavaScript会把这些字符发送到服务器,然后服务器会返回一个搜索建议的列表。Ajax就像是一门艺术,它在与服务器数据交互的同时并且不在刷新网页的情况下就可以完成网页的部分更新,是一种使用现有标准的新方法,Ajax已经得到越来越多人的青睐,如新浪微博、Google 地图、开心网、百度等等都有使用Ajax的地方。

学习Ajax之前当然要对Html、css、javascript的知识有一定的了解,下面我就来谈谈Ajax的使用原理。首先声明一个保存XMLHttpRequest对象的xmlHttp变量。然后使用XMLHTTP=new XMLHttpRequest()来创建此对象。这条语句针对Firefox、Opera以及Safari浏览器。假如失败,则尝试针对Internet Explorer6.0+的xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"),加入这也不成功,则尝试针对Internet Explorer5.5+的 xmlHttp=new ActiveXObject("Microsoft。XMLHTTP")。假如这三种方法都不起作用,只能说明你使用的浏览器已经太过时了,你会看到一声明此浏览器不支持AJAX的提示,大家都知道,对于IE8以前的版本,一些兼容性的问题都是很恼火的,对此我只能表示"呵呵"了。上面这些浏览器定制的代码很长,也很复杂。不过,每当您希望创建XMLHttpRequest对象时,这些代码就能派上用场,因此您可以在任何需要使用的时间拷贝这些代码。接着,我们在向服务器发送数据之前,有必要了解一下XMLHttpRequest对象的三个重要的属性,即onreadystatechange、readyState、responseText,onreadystatechange和readyState就是代表后台发送数据过来后的状态,然后我们就可以执行回调函数。接着就是最重要的环节了,要想把请求发送到服务器,就需要设置我们的发送信息,调用open()方法和send()方法。open()方法需要三个参数。第一个参数定义发送请求所使用的方法(Get还是POST)。第二个参数规定服务器端脚本的URL。第三个参数规定应到对请求进行异步的处理。设置好这三个参数,然后用send()即可将请求送往服务器。

再来谈谈Ajax的跨域访问的问题,我们都知道Ajax是不支持跨域访问的,但我们可以通过一些方法解决跨域访问问题。第一,在服务器加上允许跨域访问的响应头。第二,使用JSONP解决跨域访问问题。第三,采用代理服务器。这样Ajax就比较完美了。

最后总结一下Ajax适用的场景:1.表单驱动的交互。2.深层次的树的导航。3.快速的用户与用户的交流响应。4.类似投票、yes/no等无关痛痒的场景.5.对数据进行过滤和操纵相关数据的场景。6.普通的文本输入提示和自动完成的场景。再说说不适用的场景:1.部分简单的表单。2.搜索、基本的导航3.替换大量的文本。4.对呈现的操纵。总的来说,Ajax技术是一种革新,是IT技术人员智慧的结晶!

时间: 2024-10-10 22:16:06

浅谈Ajax的相关文章

浅谈Ajax(转)

一.简介 AJAX(Asynchronous JavaScript And XML),指异步JavaScript及XML,它不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术,其本质就是JavaScript技术,与XML其实没有太大关系. 通过AJAX,可使用JavaScript的XMLHttpRequest对象来直接与服务器进行通信.通过这个对象,JavaScript可在不重载页面的情况与 Web 服务器交换数据. AJAX在浏览器与Web服务器之间使用异步数据

浅谈Ajax 异步的几点细节

1.浏览器执行到Ajax代码的这行语句的时候,发出了一个HTTP请求,欲想请求服务器上的数据.服务器此时开始I/O,所谓的I/O就是磁盘的读写,需要花费一些时间,所以不会立即产生下行的HTTP报文: 2. 由于Ajax是异步的,所以本地的JavaScript程序不会停止运行,页面就不会死等,(不会傻等HTTP报文的反馈)后面javascript语句将继续执行.进程不会阻塞: 3. 等服务器的I/O结束,将下行HTTP报文发送到本地.此时,回调函数执行(将使用DOM更改页面内容).

浅谈ajax中的GET和POST

Get方式:   用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将各个表单字段元素及其数据按照URL参数的格式附加在请求行中的资源路径后面.另外最重要的一点是,它会被客户端的浏览器缓存起来,那么,别人就可以从浏览器的历史记录中,读取到此客户的数据,比如帐号和密码等.因此,在某些情况下,get方法会带来严重的安全性问题. Post方式:   当使用POST方式时,浏览器把各表单字段元素及其数据作为HTTP消息的实体内容发

浅谈ajax的优点与缺点

AJAX (Asynchronous Javascript and XML) 是一种交互式动态web应用开发技术,该技术能提供富用户体验. 完全的AJAX应用给人以桌面应用的感觉.正如其他任何技术,AJAX有它自己的优缺点.下面我列出了一些重要的场景,你在基于web的应用的开发中使用 时一定要注意. AJAX的优点        改善的用户体验- AJAX提供的更丰富的用户体验是其主要优点.AJAX允许网页持续更新,但只需要和服务 器交互很少的数据.这样,就能在不必整个更新网页的情况下更新网页的

浅谈JS之AJAX

0x00:什么是Ajax? Ajax是Asynchronous Javascript And Xml 的缩写(异步javascript及xml),Ajax是使用javascript在浏览器后台操作HTTP和web服务器进行数据交换(用户不知道也感觉不出来,就跟桌面应用程序似的进行数据交互),它不会导致页面重新加载,这样才有更好的用户体验. Ajax是基于以下开放标准: javascript(DOM) css html xml(json) 通俗的说就是使用了javascript(DOM)的XMLH

.net中对象序列化技术浅谈

.net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数 据.例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象.反之,反序列化根据流重新构造对象.此外还可以将对象序列化后保存到本地,再次运行的时候可以从本地文件 中“恢复”对象到序列化之前的状态.在.net中有提供了几种序列化的方式:二进制序列化

单页应用SEO浅谈

单页应用SEO浅谈 前言 单页应用(Single Page Application)越来越受web开发者欢迎,单页应用的体验可以模拟原生应用,一次开发,多端兼容.单页应用并不是一个全新发明的技术,而是随着互联网的发展,满足用户体验的一种综合技术. SEO 一直以来,搜索引擎优化(SEO)是开发者容易忽略的部分.SEO是针对搜索(Google.百度.雅虎搜索等)在技术细节上的优化,例如语义.搜索关键词与内容相关性.收录量.搜索排名等.SEO也是同行.市场竞争常用的的营销手段.Google.百度的搜

浅谈移动前端的最佳实践(转)

前言 这几天,第三轮全站优化结束,测试项目在2G首屏载入速度取得了一些优化成绩,对比下来有10s左右的差距: 这次优化工作结束后,已经是第三次大规模折腾公司框架了,这里将一些自己知道的移动端的建议提出来分享下,希望对各位有用 文中有误请您提出,以免误人自误 技术选型 单页or多页 spa(single page application)也就是我们常常说的web应用程序webapp,被认为是业内的发展趋势,主要有两个优点: ① 用户体验好 ② 可以更好的降低服务器压力 但是单页有几个致命的缺点:

浅谈浏览器的兼容性

浏览器的兼容性浅谈 Css兼容性 <span>标签在IE下要放在前面,否则IE会有问题. IE6下没有min-width的概念,起默认的width就是min-width IE6下两个float之间会有3px的bug IE6图片的下方会有空隙 IE6下margin:0 auto不能剧中,解决:为其父容器设置text-align:center A标签的伪类一定要按LV H A的顺序写,否则ie6有错误 Javascript的兼容性 绑定事件不一样.标准的绑定事件为addEventListener,