Ajax入门实例

最近研究了一下Ajax,越看越有趣。Ajax其实就是JavaScript+DOM+CSS+XMLHttpRequest的结合体。前三个实现了DHTML(动态HTML),再加上XMLHttpRequest后,就成了Ajax。说Ajax 改变了用户的浏览体验,我觉得其实就是Ajax让用户能够在网页上执行连续不间断的操作,就和使用CS程序一样。之所以能够连续不断操作,是因为Ajax是异步的,用Ajax与后台通信,不会打断用户的操作(比如刷新界面等)。真的很不错。昨天从CSDN上看到一个用Ajax技术实现的网络操作系统Ajax13,进去试了一把,爽!

下面是我刚学习Ajax做的一个程序:登录验证

用户输入用户名和密码后到服务器验证,之后返回结果,如果验证失败,就弹出对话框提示,否则就跳转到其他页面。

1.页面

<form name="myform" action="login.do" method="post" onSubmit="return check()">
           Name: 
<input type=text id="usr" name="usr"><br>
           Password: 
<input type=password id="pwd" name="pwd"><br>
            
           
<input type=submit /> 
</form>

2.JavaScript

<script type="text/javascript">
    
var xmlRequest = null;
    
var READY_STATE_UNLOAD = 0;
    
var READY_STATE_LOADING = 1;
    
var READY_STATE_LOADED = 2;
    
var READY_STATE_INTERACTIVE = 3;
    
var READY_STATE_COMPLATE = 4;
            
    
//获取XMLHttpRequest对象
    function getXMLHttpRequest() {
        
if (window.XMLHttpRequest) {
                  
return new XMLHttpRequest();
        }
 else {
                  
return new ActiveXObject("Microsoft.XMLHTTP");
        }

    }

        
    
function check() {
            
//获得用户输入的用户名和密码
            var params = "usr=" + document.getElementById("usr").value + "&pwd=" + document.getElementById("pwd").value;
                
             sendRequest(
"login", params, "get");
        
            
return false;
    }


                      
//发送请求
    function sendRequest(url, params, method) {
                     
if (!method) {
                               method
="post";
                         }

                
                           //获得XMLHttpRequest对象
                        xmlRequest 
= getXMLHttpRequest();
                    
if (xmlRequest) {
                              
//设置回调函数
                               xmlRequest.onreadystatechange=callBack;
                    
                             
//打开连接
                              xmlRequest.open(method, url, true);
                              xmlRequest.setRequestHeader(
"Content-Type""application/x-www-form-urlencoded");
                             
//设置参数
                             xmlRequest.send(params);
                     }

                
             }

            
                     
//回调函数
             function callBack() {
                        
var ready = xmlRequest.readyState;
                        
var data = null;
                
                    
if (ready == READY_STATE_COMPLATE) {
                                  data 
= xmlRequest.responseXML;
                    
                                   
//获得返回结果
                                   var flag = data.getElementsByTagName("flag")[0].firstChild.nodeValue;
                    
                               
if (flag == "false"{
                                        alert(
'用户名或密码错误!请重新输入!');
                                 }
 else {
                                           
//打开新窗口
                                          window.open("ok""_top");
                                    }

                  }
                 
    }

            
</script>

执行的过程是这样的:

Step1:获得XMLHttpRequest对象

Step2:设置请求URL,参数,回调函数

Step3:将请求发送给服务器

Step4:服务器返回结果,回调函数用来处理返回结果

下面是执行的结果:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值