CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > XML技术

探讨AJAX在WEB2.0中的具体应用

作者: 佚名,  出处:IT专家网论坛, 责任编辑: 包春林, 
2008-05-07 04:00
  AJAX又是WEB2.0的核心之一。它并不是一门新的语言或技术,它包括:使用XHTML和CSS标准化呈现

  AJAX又是WEB2.0的核心之一。它并不是一门新的语言或技术,它包括:使用XHTML和CSS标准化呈现;使用DOM实现动态显示和交互;使用XML和XSLT进行数据交换与处理;使用XMLHttpRequest进行异步数据读取;最后用JavaScript绑定和处理所有数据;

  Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。这样把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的。

  我们以两个验证通行证帐号是否存在的例子来讲述AJAX在实际中的应用:

  (1) 用文本字符串的方式返回服务器的响应来验证网易通行证帐号是否存在;

  (2) 以XMLDocument对象方式返回响应来验证金山通行证帐号是否存在;

  首先,我们需要用JavaScript来创建XMLHttpRequest 类向服务器发送一个HTTP请求, XMLHttpRequest 类首先由Internet Explorer以ActiveX对象引入,被称为XMLHTTP。 后来Mozilla﹑Netscape﹑Safari 和其他浏览器也提供了XMLHttpRequest类,不过它们创建XMLHttpRequest类的方法不同。

  对于Internet Explorer浏览器,创建XMLHttpRequest 方法如下:

  xmlhttp_request = new ActiveXObject("Msxml2.XMLHTTP.3.0"); //3.0或4.0, 5.0

  xmlhttp_request = new ActiveXObject("Msxml2.XMLHTTP");

  xmlhttp_request = new ActiveXObject("Microsoft.XMLHTTP");

  由于在不同Internet Explorer浏览器中XMLHTTP版本可能不一致,为了更好的兼容不同版本的Internet Explorer浏览器,因此我们需要根据不同版本的Internet Explorer浏览器来创建XMLHttpRequest类,上面代码就是根据不同的Internet Explorer浏览器创建XMLHttpRequest类的方法。

  对于Mozilla﹑Netscape﹑Safari等浏览器,创建XMLHttpRequest 方法如下:

  

      xmlhttp_request = new XMLHttpRequest();
  如果服务器的响应没有XML mime-type header,某些Mozilla浏览器可能无法正常工作。 为了解决这个问题,如果服务器响应的header不是text/xml,可以调用其它方法修改该header。

  

      xmlhttp_request = new XMLHttpRequest();

  xmlhttp_request.overrideMimeType('text/xml');

  在实际应用中,为了兼容多种不同版本的浏览器,一般将创建XMLHttpRequest类的方法写成如下形式:

  

      try{

  if( window.ActiveXObject ){

  for( var i = 5; i; i-- ){

  try{

  if( i == 2 ){

  xmlhttp_request = new ActiveXObject( "Microsoft.XMLHTTP" );

  }else{

  xmlhttp_request = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" );

  }

  xmlhttp_request.setRequestHeader("Content-Type","text/xml");

  xmlhttp_request.setRequestHeader("Content-Type","gb2312");

  break;}

  catch(e){

  xmlhttp_request = false;

  }

  }

  }else if( window.XMLHttpRequest ){

  xmlhttp_request = new XMLHttpRequest();

  if (xmlhttp_request.overrideMimeType) {

  xmlhttp_request.overrideMimeType('text/xml');

  }

  }

  }catch(e){

  xmlhttp_request = false;

  }

共5页。 1 2 3 4 5 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i