AJAX详解

AJAX技术与原理

简介:

    AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
    AJAX 不是新的编程语⾔,⽽是⼀种使⽤现有标准的新⽅法。
    AJAX 是与服务器交换数据并更新部分⽹⻚的艺术,在不重新加载整个⻚⾯的情况下。

Ajax所包含的技术:

    ajax并⾮⼀种新的技术,⽽是⼏种原有技术的结合体。它由下列技术组合⽽成。
    1.使⽤CSS和XHTML来表示。
    2.使⽤DOM模型来交互和动态显示。
    3.使⽤XMLHttpRequest来和服务器进⾏异步通信。
    4.使⽤javascript来绑定和调⽤。
    AJAX 的核⼼是 XMLHttpRequest 对象。
    不同的浏览器创建 XMLHttpRequest 对象的⽅法是有差异的。
    IE 浏览器使⽤ ActiveXObject,⽽其他的浏览器使⽤名为 XMLHttpRequest 的 JavaScript
                        内建对象

Ajax工作原理:

    Ajax的⼯作原理相当于在⽤户和服务器之间加了—个中间层(AJAX引擎),使⽤户操作与服务
    器响应异步化。
    并不是所有的⽤户请求都提交给服务器。像—些数据验证和数据处理等都交给Ajax引擎⾃⼰
    来做。只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。

传统WEB应用模型

在这里插入图片描述

AJAX模型:
在这里插入图片描述
浏览器的普通交互⽅式:
在这里插入图片描述
    创建Web站点时,在客户端执⾏屏幕更新为⽤户提供了很⼤的灵活性。
    下⾯是使⽤Ajax可以完成的功能:
    动态更新购物⻋的物品总数,⽆需⽤户单击Update并等待服务器重新发送整个⻚⾯。
    提升站点的性能,这是通过减少从服务器下载的数据量⽽实现的。例如,在Amazon的购物⻋⻚⾯,当更新篮⼦中的⼀项物品的数量时,会重新载⼊整个⻚⾯,这必须下载32K的数据。如果使⽤Ajax计算新的总量,服务器只会返回新的总量值,因此所需的带宽仅为原来的百分之⼀。
    消除了每次⽤户输⼊时的⻚⾯刷新。例如,在Ajax中,如果⽤户在分⻚列表上单击Next,则服务器数据 只刷新列表⽽不是整个⻚⾯。
    直接编辑表格数据,⽽不是要求⽤户导航到新的⻚⾯来编辑数据。对于Ajax,当⽤户单击Edit时,可以将静态表格刷新为内容可编辑的表格。⽤户单击Done之后,就可以发出⼀个Ajax请求来更新服务器,并刷新表格,使其包含静态、只读的数据。
在这里插入图片描述

XMLHttpRequest常⽤属性

    onreadystatechange 属性
    onreadystatechange 属性存有处理服务器响应的函数。
    下⾯的代码定义⼀个空的函数,可同时对 onreadystatechange 属性进⾏设置:
    xmlHttp.onreadystatechange = function() { //我们需要在这写⼀些代码}
    readyState 属性
在这里插入图片描述

responseText 属性

在这里插入图片描述

XMLHttpRequest⽅法

    open() ⽅法
    open() 有三个参数。第⼀个参数定义发送请求所使⽤的⽅法,第⼆个参数规定服务器端
    脚本的URL,第三个参数规定应当对请求进⾏异步地处理。
    xmlHttp.open(“GET”,“test.php”,true);
    send() ⽅法
    send() ⽅法将请求送往服务器。如果我们假设 HTML ⽂件和 PHP ⽂件位于相同的⽬
    录,那么代码是这样的:
    xmlHttp.send(null);
其他方法:
在这里插入图片描述

AJAX编程步骤:

  1. 创建XMLHttpRequest对象:
    var xmlHttp=new XMLHttpRequest();
    ⼀般我们⼿写AJAX的时候,⾸先要判断该浏览器是否⽀持XMLHttpRequest对象,如果⽀持
    则创建该对象,如果不⽀持则创建ActiveX对象:
    var xmlHttp;
    if (window.XMLHttpRequest) {
    //⾮IE
    xmlHttp = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
    //IE
    xmlHttp = new ActiveXObject(“Microsoft.XMLHTTP”)
    }
    2.设置请求对象:
    在这里插入图片描述
    3.调用回调函数:
    在这里插入图片描述
    4.发送请求:
    在这里插入图片描述
    jQuery的AJAX方法:
    传统⽅式实现Ajax的不⾜:
    步骤繁琐 ⽅法、属性、常⽤值较多不好记忆
    AJAX方法:
    在这里插入图片描述
    JSON在JAVA中使用:
    首先需要导包
    java对象与JSON之间的转换
    java->json
    在这里插入图片描述

对象集合与JSON之间的转换

在这里插入图片描述
AJAX实例:实现数据的自动填充
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王某人@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值