zoukankan      html  css  js  c++  java
  • ajax+php的简单实现

    如果你以前还没接触过ajax的话,建议先看看有关ajax的书籍。我提供个地址:http://java2000.net/f116

    众所周知,ajax概括起来就是异步传输,而在此过程中就离不开XMLHttpRequest对象的使用。

    例子:假设我们要做一个注册用户验证该用户名是否存在的功能。

    表单代码:在账户文本框失去焦点后,我们验证用户名是否存在。我们定义一个<span id="info"></span>来显示提示信息。

    xhtml代码
    1. <form name="regFrom" action="" method="POST"> 
    2. 账户:<input type="text" name="userName" id="userName" onblur="checkUserName()" /><span id="info"></span><br /> 
    3. 密码:<input type="password" name="usePwd" id="userPwd" /><br /> 
    4. 再次输入密码:<input type="password" name="usePwd" id="userPwd" /><br /> 
    5. <input type="submit" name="submit" value="提交" /> <input type="reset" name="reset" value="重置" /> 
    6. </form> 

    XMLHttpRequest对象的创建: 

    php代码
    1. var request = false;  
    2. function createRequest(){  
    3.       
    4.     try  
    5.     {  
    6.         request = new XMLHttpRequest();//创建XMLHttpRequest对象  
    7.     }  
    8.     catch (trymicrosoft) //尝试较新版本的IE浏览器  
    9.     {  
    10.         try  
    11.         {  
    12.             request = new ActiveXObject("Msxml2.XMLHTTP");  
    13.         }  
    14.         catch (othermicrosoft)//尝试旧版本的IE浏览器  
    15.         {  
    16.             try  
    17.             {  
    18.                 request = new ActiveXObject("Microsoft.XMLHTTP");     
    19.             }  
    20.             catch (failed) //如果还没有成功创建,则保证request的值还是为false  
    21.             {  
    22.                 request = false;  
    23.             }             
    24.         }  
    25.     }  
    26.  
    27.     if(!request)  
    28.     {  
    29.         alert("Error initializing XMLHttpRequest!");  
    30.     }  

    发送信息:checkUserName()方法

    javascript代码
    1. function checkUserName(){  
    2.         createRequest();//调用createRequest()方法  
    3.  
    4.         var url = "checkUserName.php";//定义发送路径  
    5.  
    6.         request.onreadystatechange = getUserInfo;//定于回调方法  
    7.  
    8.         request.open("POST",url,true);//打开请求  
    9.  
    10.         request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");  
    11.  
    12.         request.send(null);//发送请求  
    13.     } 

    回调处理方法:

    javascript代码
    1. function getUserInfo(){  
    2.         userName = document.getElementById("userName").value;  
    3.         if (request.readyState==4||request.readyState=="complete")//判断HTTP就绪状态  
    4.         {  
    5.             var responseText = request.responseText;//返回的文本  
    6.  
    7.             if(responseText==userName)//用户名相等  
    8.                 document.getElementById('info').innerHTML = '您输入的用户名已经存在';  
    9.             else 
    10.                 document.getElementById('info').innerHTML = '该用户名可以注册';  
    11.         }  
    12.     } 

    接下来看看服务器端代码,其实很简单:checkUserName.php

    php代码
    1. echo 'iceup'

    是的,就一行。这里我们假定,iceup是已经存在的用户名。

    运行效果:

    ajax运行示例

    ajax运行示例

    备注:通常情况我们在做验证用户名是否存在时,一般是把用户输入的用户名(参数)发送到服务器端,然后在服务器端处理后,返回相应的提示信息。

  • 相关阅读:
    paip.提升性能C#.NET程序内存占用过多以及OutOfMemory解决方法
    ATTILAX项目进展表VC425
    paip.VOB DVD视频的无损分割与截取
    paip.程序不报错自动退出的解决
    paip.TechExcel DevSuite IIS 应用配置
    paip.软件版本完善计划C426fromVC423
    paip.chrome使用ACTIVX 的总结
    PAIP批量改名JS实现
    Source Navigato rNG4.4在ubuntu的简单的安装
    QuartusII编译出错小小总结
  • 原文地址:https://www.cnblogs.com/top5/p/1540166.html
Copyright © 2011-2022 走看看