AJax技术

Web 2.0中AJAX技术应用详解(2)

字号+ 作者:H5之家 来源:H5之家 2015-11-20 11:48 我要评论( )

function getXMLRequester( ) { var xmlhttp_request = false; try{ if( window.ActiveXObject ) { for( var i = 5; i; i-- ){ try{ if( i == 2 ) { xmlhttp_request = new ActiveXObject( "Microsoft.XMLHTTP" );

function getXMLRequester( )
{
 var xmlhttp_request = false;
 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; }
 return xmlhttp_request ;
}

function IDRequest(n)
{
 //定义收到服务器的响应后需要执行的JavaScript函数 url=n+document.getElementById('163id').value;
 //定义网址参数 xmlhttp_request=getXMLRequester();
 //调用创建XMLHttpRequest的函数 xmlhttp_request.onreadystatechange = doContents;
 //调用doContents函数 xmlhttp_request.open('GET', url, true); xmlhttp_request.send(null); } function doContents()
 
 {
  if (xmlhttp_request.readyState == 4)
  {
   // 收到完整的服务器响应
   if (xmlhttp_request.status == 200) {
    //HTTP服务器响应的值OK
    document.getElementById('message').innerHTML = xmlhttp_request.responseText;
    //将服务器返回的字符串写到页面中ID为message的区域 }
   else {
    alert(http_request.status);
   }
  }
 }


  在区域建立一个文本框,id为163id

  再建一个id为messsge的空白区域用来显示返回字符串(也可以通过Javascript函数截取一部分字符串显示):

  这样,一个基于AJAX技术的用户名检测页面就做好了,不过这个页面将返回服务器响应生成页面的所有字符串,当然还可以对返回的字符串进行一些操作,便于应用到不同的需要当中。

  实例二: 以XMLDocument对象方式返回响应来验证金山通行证帐号是否存在

  在上面的例子中,当服务器对HTTP请求的响应被收到后,我们会调用请求对象的reponseText属性。该属性包含了服务器返回响应文件的内容。现在我们以XMLDocument对象方式返回响应,此时将不再需要reponseText属性而使用responseXML属性。

  首先登陆金山通行证注册页面,我们发现金山通行证用户名的检测方式为: pass.kingsoft.com/ksgweb/jsp/login/uid.jsp?uid=用户名,并且返回XML数据:

isExistedUid -2


  当result值为-1时表示此用户名已被注册,当result值为-2时表示此用户名尚未注册,因此通过对result值的判断可以知道用户名是否被注册。

  对上例代码进行修改:

  首先找到

document.getElementById('message').innerHTML = xmlhttp_request.responseText;


  改为:

var response = xmlhttp_request.responseXML.documentElement;
var result = response.getElementsByTagName('result')[0].firstChild.data;//返回result节点数据
if(result ==-2){
 document.getElementById('message').innerHTML = "用户名"+document.getElementById('163id').value+"尚未注册";}
else if(result ==-1){
 document.getElementById('message').innerHTML = "对不起,用户名"+document.getElementById('163id').value+"已经注册";}


  通过以上两个实例说明了AJAX的客户端基础应用,采用的是网易和金山现成的服务器端程序,当然为了开发合适自己页面的程序,还需要对自己编写服务器端程序,这设计到程序语言及数据库的操作,对于有一定程序基础的读者一定不是很难的事情。 ###adv###

作者:龙犊整理责任编辑:龙犊)

欢迎在新浪微博上关注我们

评论

* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Ajax与WEB开发 by alixixi.com

    Ajax与WEB开发 by alixixi.com

    2016-02-11 11:02

  • ajax技巧制作得在线歌词搜索功效

    ajax技巧制作得在线歌词搜索功效

    2016-02-06 14:47

  • javascript、jquery、AJAX总结

    javascript、jquery、AJAX总结

    2016-01-25 17:00

  •  Ajax技术统观(2)

    Ajax技术统观(2)

    2016-01-24 11:42

网友点评