AJAX

AJAX :Asynchronous JavaScript And XML

Ajax是基于服务器的页面异步处理技术,实现网页局部刷新的功能,当前页面发送一个请求给服务器,当前页面不需要等待服务器响应才能操作网页。发送完请求之后,当前页面可以继续浏览,操作。
AJAX在应用程序跟服务器之间引入了一个中间层ajax引擎,用JavaScript编写,在一个隐藏的框架中运行。Ajax引擎负责呈现用户界面,以及代表用户跟服务器交互

应用模型

传统的WEB应用模型
这里写图片描述


AJAX工作机制
这里写图片描述

AJAX编码步骤
1、创建XmlHttpRequest对象()
2、注册状态监控回调函数
3、建立与服务器的异步连接
4、发出异步请求

       window.onload=init;

       function init()
       {
            var nameinputbox =document.getElementsByTagName("input")[0];
            //绑定函数
            nameinputbox.onblur=checkname;
       }

       function checkname( )
       { 
           var xhr = new XMLHttpRequest( );

            var nameinputbox =document.getElementsByTagName("input")[0];
            //回调函数
            xhr.onreadystatechange =   function()
            {       //请求正常
                if(xhr.readyState==4)
                {//服务器响应正常
                    if(xhr.status=200)
                    {//拿到响应结果
                             var resultspan =document.getElementById("usernameInfo");

                           /*  服务器返回数据格式
                             HTML片段
                             JSON格式的数据
                             XML格式的数据*/

                            if(xhr.responseText== "true")
                            {
                                usernameInfo.innerHTML=" 用户名ok";

                            }else
                            {
                                usernameInfo.innerHTML="fail";

                            }
                      }

                }

            };
          //创建连接
            xhr.open("get",   "/Day23_AJAXDemo/servlet/CheckUsernameServlet?username="+nameinputbox.value,true);
           //发送请求
            xhr.send(null);

       }

XmlHttpRequest
属性
readyState:类型short;只读
responseText:类型String;只读
responseXML:类型Document;只读
status:类型short;只读
方法:
open()
send()
setRequestHeader()
事件处理器
onreadystatechange
open(method,url, asynch):method表示HTTP调用方法,一般使用”GET”,”POST”,url表示调用的服务器的地址asynch表示是否采用异步方式,true表示异步,一般这个参数不写,GET方式提交,数据在URL上,POST方式提交
xmlHttp.setRequestHeader(“CONTENT-TYPE”,”application/x-www-form-urlencoded”);
xmlHttp.send(“name=xxx&pwd=xxx”);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值