ajax学习笔记---什么是Ajax

来源:互联网 发布:朝鲜为什么恨中国知乎 编辑:程序博客网 时间:2024/06/10 01:27

Ajax不是一个技术,而是好几个技术的结合:

1.使用XHTML和CSS的基于标准的表示技术

2.使用Dom即使进行动态显示和交互。解决页面数据获取,服务器返回数据的解析,五刷新页面的更新。

3.使用XML和XSLT进行数据交换和处理,XML是Ajax常用的数据传输格式,但并不是必须要使用Xml,也可以使用不同文本格式。比如google就是使用纯文本进行数据传输。

4.使用XMLHTTPRequest进行数据检索。解决了异步交互。

5.使用JavaScript把上面的技术融合起来。是实现数据从“页面--服务器---页面”的桥梁。

 

传统模式下Http请求的发送和服务器响应结果的接收都是由浏览器完成的。同时服务器响应的结果是一个新的Html页面。

传统模式中,浏览器通过表单(Form)组织数据并提交到服务器并且接收服务器返回的页面。

 

Ajax发送Http请求和接收服务器响应都是通过Ajax引擎完成的。服务器端的响应结果是数据(XML格式或不同文本格式),而不是像传统模式下以新的页面为响应结果。响应结果会通过注册在Ajax引擎上的回调方法来执行响应操作并显示给客户。

Ajax中,通过JavaScript获取页面上需要处理的数据,通过Ajax引擎把这些数据发送到服务器,同时还要在Ajax引擎上注册响应的回调方法。但服务器把处理后的数据返回到Ajax引擎就调用回调方法中的相关数据把服务器返回的数据呈现给用户。

Ajax中服务器端做的工作比传统方式要少一些。两者都要进行数据的接收和处理,但是Ajax接收的数据,返回的也是数据,而不是传统方式的整个页面。

 

关于XMLHttpRequest对象的历史

最早的XMLHttpRequest是IE5.0中以ActiveX控件的形式出现的,后来Mozilla,Safari,Opera等浏览器厂商都支持了XMLHttpRequet对象。也就是说在这些浏览器中,可以直接定义XMLHttpRequest对象。

但是对于IE6以前的版本,该对象只能够以ActiveX来创建XMLHttpRequest对象。

正是由于不同浏览器对XMLHttpRequest对象的支持程度不同,导致在实际开发过程中为了在不同浏览器都能实现功能,创建这个对象就比较麻烦,下面是一个创建XMLHttpRequest对象的例子。

if(window.XMLHttpRequest){//如果用户的浏览器支持XMLHttpRequest对象,就可以直接new了
                  //对于IE7,IE8,firefox,Mozilla,Safari浏览器都能满足这个条件
                  xmlhttp=new XMLHttpRequest();
                  if(xmlhttp.overrideMimeType){
                      xmlhttp.overrideMimeType("text/xml");
                  }
              }else if(window.ActiveXObject){
//如果浏览器不能直接支持new XMLHttpRequest()就只能使用Activex来创建了,但是前提是该浏览器能支持Activex控件。
//上面的浏览器也能满足这个条件,但是上面的自带了XMLHttpRequest对象,所以没有必要再利用这个来创建。
//由于不同版本的Activex控件不同,这里使用所以可能的版本来创建XMLHttpRequest对象,只要有一个控件创建成功,就break出去。
                  activexName=["MSXML2.XMLHTTP6.0","MSXML2.XMLHTTP5.0",
                  "MSXML2.XMLHTTP4.0","MSXML2.XMLHTTP3.0","MSXML2.XMLHTTP",
                   "Miscrosoft.XMLHTTP"];
                  for(var i=0;i<activexName.length;i++){
                      try{
                          xmlhttp=new ActiveXObject();//注意使用Activex来创建XMLHttpRequest对象的写法的不同。
                          break;

                      }
                      catch(e){
                         
                      }
                  }
                 
              }
              if(xmlhttp==undefined||xmlhttp==null){//如果连Activex都不能支持,那就没办法了
                  alert("您的浏览器太老,请更换版本。");
                  return;
              }

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 断奶后宝宝抗拒奶瓶怎么办 两岁宝宝断奶后不喝奶粉怎么办 两岁宝宝断奶不吃奶粉怎么办 宝宝断奶妈妈涨奶怎么办 三岁宝宝智商低怎么办 宝宝断奶晚上哭的厉害怎么办 2岁宝宝半夜喝奶粉怎么办 两岁宝宝不爱吃饭怎么办 快两岁的宝宝不爱吃饭怎么办 宝宝断奶后不愿意喝奶粉怎么办 宝宝断奶了不愿意喝奶怎么办? 宝宝断奶不愿意喝奶粉怎么办 宝宝断奶不愿意喝牛奶怎么办? 四个月宝宝断奶不吃奶粉怎么办 2岁不开口说话怎么办 八个月宝宝断奶不吃奶粉怎么办 宝宝断奶不喝奶粉怎么办 周岁 给娘家东西婆家看见怎么办 自己娘家妈总说婆家人坏话怎么办 娘家婆家老公都没有依靠怎么办? 2岁宝宝断奶粉怎么办 2岁宝宝夜奶频繁怎么办 宝宝15个月还在吃夜奶怎么办 宝宝两岁四个月还吃母乳怎么办 宝宝睡前老是找奶吃怎么办 宝宝戒奶晚上哭怎么办 宝宝戒奶半夜哭怎么办 吸习惯母乳不吸奶嘴怎么办 八个月宝宝奶睡怎么办 宝宝要吸着奶睡怎么办 戒母乳胸胀的疼怎么办 断奶孩子晚上哭的厉害怎么办 喜欢咬指甲的人怎么办? 成年了还咬指甲怎么办 戒奶乳房有硬块怎么办 戒奶七天有硬块怎么办 两岁宝宝喘气粗怎么办 两岁宝宝断不了奶怎么办 两岁宝宝不愿意喝奶粉怎么办 吃母乳不愿意吃奶粉怎么办 母乳宝宝不愿意喝奶粉怎么办