Ajax简述

一、什么是AJAX: Asynchronous JavaScript and XML,异步的javascript和XML

  1, 它是一个客户端技术,是将原来的一些老的技术进行结合使用,产生一种新的应用
  2,可以跟任何服务端技术开发的程序进行交互
  3,是一种异步的交互方式。异步指的是,javascript脚本发送请求后不等服务器响应,继续执行,即 请求响应和处理时异步完成的。

二、AJAX执行流程

  1,创建XMLHttpRequest对象
    XMLHttpRequest对象不是一个国际标准,在不同服务器中有不同的实现。
    var request;
        //1,创建XMLHttpRequest对象
        try{
            //火狐浏览器标准
            request = new XMLHttpRequest();
        }catch(e){
            //IE5,IE6标准
            request = new ActiveXObject("Msxml2.XMLHTTP");
        }
  2,创建Ajax请求
    //2,使用open方法向服务器提交请求
    request.open("POST","/CascadeMenu/CascadeServlet");

     open()方法是向服务器发送请求。其语法如下:
    open(method , url , asynchronous , user , password);
    method:指定请求的类型,一般为get或post;
    url:指定请求的地址,可以使用绝对地址或相对地址,可以附带查询字符串
    asynchronous:可选参数,标识请求是同步还是异步,异步请求为true,同步请求为false,默认情况下该参数为true;
    user:可选参数,指定请求的用户名,没有则省略;
    password:可选参数, 指定请求的密码,没有则省略
 3,发送Ajax请求
    //3,使用send发送请求,null表示不需要参数
    request.send(null);
      send(body);-----该方法仅有一个body参数,标示向服务器发送的数据,格式为字符串形式。也可以为null,即不发送任何数据。例如:var body = “userName=qiyi&sex=male&age=25”; Xmlhttp.send(body);
  4,处理服务器响应
    因AJAX是异步的,无法知道请求什么时候响应,所以需要通过XMLHttpRequest对象的onreadystatechange的事件处理函数来处理。在readyState的值每次改变都会触发onreadystatechange事件。
    request.onreadystatechange=function(){
        //4事件处理代码
        if(xmlhttp.readState ==4){
        if(xmlhttp.status ==200){
            //请求成功完成
            var result = request.responseText;
        }
        else{
            //网络失败或者服务器错误
        }
        }
    }
    注:1)readyState的值表示当前请求的状态
    
    2) status存储HTTP响应代码,它表示请求的处理结果。
    
    3) XMLHttpRequest对象可以接受服务器返回的文本片段和XML文档,分别保存在responseText与responseXML属性中。
    responseText:返回为String类型,服务器无需特殊操作
    responseXML:返回的是XML文档,必须要求响应体的HTTP头文件信息中的“content-type”属性为"text/xml"。如
        <?xml version="1.0" encoding="UTF-8">

三、AJAX的优缺点

  1,优点:
    1)在页面与服务器通信时,页面无需刷新,用户体验度高
    2)使用异步方式与服务器通信,无需打断用户的操作,具有更加顺序的响应能力
  2,缺点:
    1)Ajax接收的响应是XML或文本格式,需要解析后才能使用,这会耗费大量的时间和带宽。当响应数据较大时,会严重影响响应速度。
    2)Ajax中无法执行后退操作。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值