展开飞翔的翅膀

 Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。
  它:
  使用XHTML+CSS来表示信息;
  使用JavaScript操作DOM(Document Object Model)进行动态显示及交互;
  使用XML和XSLT进行数据交换及相关操作;
  使用XMLHttpRequest对象与Web服务器进行异步数据交换;
  使用JavaScript将所有的东西绑定在一起。
  使用SOAP以XML的格式来传送方法名和方法参数。
  类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于Ajax的“派生/合成”式(derivative/composite)的技术正在出现

,如“AFLAX”。Ajax的应用使用支持以上技术的Web浏览器作为运行平台。这些浏览器目前包括:Internet Explorer、Mozilla、Firefox、Opera、Konqueror及Mac OS的Safari。

但是Opera不支持XSL格式对象,也不支持XSLT[2]。[以上一段来自 维基百科,自由的百科全书 AJAX]

  Ajax的这种交互,现在可以说是很流行很常用的吧,比如说QQ群信息,csdn上的资源下载后的评论,csdn上的在线聊天等等,还有很多很多应该都是用到Ajax技术的!
  如何实现Ajax呢?
  首先是要实现创建XMLHttpRequest 对象,贴一下自己用的代码吧:
 
    //建立XMLHttpRequest对象函数

  var xmlhttp;
  function createXHR()
  {
      try
      {
          xmlhttp=new ActiveXObject("Msxm12.XMLHTTP");  //支持不同浏览器版本,下同
      }
      catch(e)
      {
          try
          {
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
          }
          catch(e)
          {
              try
              {
                  xmlhttp=new XMLHttpRequest();
                  if(xmlhttp.overrideMimeType)
                  {
                       xmlhttp.overrideMimeType("text/xml");
                  }
               }
               catch(e){}
           }
       }
       if(!xmlhttp)
       {
            return false;
       }
  }

   在使用的时候就是要创建XMLHttpRequest!
   写个简单的例子吧:我是用PHP实现的,原理上一样的:
   以下是test.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ajax应用举例</title>
</head>
<script type="text/javascript" src="ajax.js"></script>
<body>
<input type="text" name="username" οnblur="doAjax( 'chkusername.php?username='+this.value )" /><div id="chk"></div>
<!-- doAjax开始调用XMLHttpRequest对像,实现对username的验证-->
</body>
</html>

  以下是ajax.js,一是实现调用doAjax,一是实现返回

 var xmlhttp;
  function createXHR()
  {
      try
      {
          xmlhttp=new ActiveXObject("Msxm12.XMLHTTP");  //支持不同浏览器版本,下同
      }
      catch(e)
      {
          try
          {
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
          }
          catch(e)
          {
              try
              {
                  xmlhttp=new XMLHttpRequest();
                  if(xmlhttp.overrideMimeType)
                  {
                       xmlhttp.overrideMimeType("text/xml");
                  }
               }
               catch(e){}
           }
       }
       if(!xmlhttp)
       {
            return false;
       }
  }

function doAjax( url )
{
    createXHR();
    xmlhttp.onreadystatechange=requestAjax;
    xmlhttp.open( "GET", url, true );
    xmlhttp.send( null );   
}

function requestAjax()
{
    if(xmlhttp.readyState==4)
    {
        if(xmlhttp.status==200)
        {
            document.getElementById('chk').innerHTML = xmlhttp.responseText;
        }
    }
}

以下是chkusername.php:
<?php

$username = @$_GET['username'];

echo $username;

?>

  三个文件放在同一目录下就OK了。
 
  以上基本上就实现了一个由Ajax实现的交互了,可以在chkusername.php里面实现数据库的操作,实现判断用户名是否在数据库里存在,我就不多说了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值