Ajax和JQuery

第一章 Ajax 前端技术

前端技术: 在浏览器中执行的程序都是前端, html , css,js等等

后端技术:在服务器中执行的程序, 使用java语言开发的后端程序。 servlet,jsp, jdbc,mysql,tomcat等等

1 全局刷新和局部刷新

1)全局刷新: 使用form, href等发起的请求是全局刷新。

​ 用户发起请求, 视图改变了, 跳转视图,使用新的数据添加到页面。

缺点:

 1. 传递数据量比较大。 占用网络的带宽
    2. 浏览器需要重新的渲染整个页面。 
    3. 用户的体验不是那么好

2)局部刷新: 在当前页面中,发起请求,获取数据,更新当前页面的dom对象。 对视图部分刷新。

​ 特点:

 1. 数量比较小, 在网络中传输速度快。
    2. 更新页面内容, 是部分更新页面, 浏览器不用全部渲染视图。
    3. 在一个页面中,可以做多个 局部刷新
    4. 从服务器获取的是数据, 拿到更新视图

2 异步请求对象

在局部刷新中,使用异步请求对象,在浏览器内部发起请求,获取数据。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QEGugxXi-1637597861950)(images/image-20201012092218113.png)]

异步对象是在浏览器内部的一种 javascript对象。 各大浏览器都能支持异步对象的使用。chrome ,firework, ie, opper ,

异步对象 XMLHttpRequest

3. 异步对象XMLHttpRequest介绍

js中的一种对象, 使用js语法创建和使用这个对象。

var xhr = new XMLHttpRequest();

之后就可以 使用xhr对象的属性或者函数,进行异步对象的操作。

使用异步对象实现局部刷新, 异步对象主要负责发起请求,传递请求的参数,并从服务器接收数据。

局部刷新需要使用那些技术:

1)javascript : 创建XMLHttpRequest对象, 调用它的属性或者方法

2)dom:处理dom,更新select的数据

3)css: 处理视图, 更新,美化。

4)servlet:服务器端技术

5)数据格式:json。 它之前是xml

把上面这些技术的综合使用叫做ajax(阿贾克斯)。

4 Ajax

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和XML)。
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分页面内容的新方法

AJAX不是新的编程语言,它是多种技术的综合使用。 包含了javascript, dom

,css, 服务器端技术, servlet ,jsp ,jdbc等等, 还有 json数据格式。

使用AJAX实现局部刷新。

Ajax核心是 javascript 和 xml (json):使用javascript操作异步对象XMLHttpRequest. 和服务器交换使用json数据格式。

5. 异步对象XMLHttpRequest属性和方法

  1. 创建异步对象,使用js的语法

    var xhr = new XMLHttpRequest();

  2. XMLHttpRequest方法

    ①)open(请求方式, 服务器端的访问地址,异步还是同步)

    例如:xhr.open(“get”,“loginServlet”,true);

    ②)send(): 使用异步对象发送请求

  3. XMLHttpRequest属性

    readyState属性:请求的状态

    ​ 0:表示创建异步对象时,new XMLHttpRequest();

    ​ 1:表示初始异步对象的请求参数。 执行open()方法

    ​ 2:使用send()方法发送请求。

    ​ 3:使用异步对象从服务器接收了数据

    ​ 4:异步对象接收了数据,并在异步对象内部处理完成后。

    status属性:网络的状态,和Http的状态码对应

    ​ 200:请求成功

    ​ 404: 服务器资源没有找到

    ​ 500: 服务器内部代码有错误

    responseText属性:表示服务器端返回的数据

    ​ 例如: var data = xhr.responseText;

6. 异步对象XMLHttpRequest使用步骤

1)使用js创建异步对象

​ var xhr = new XMLHttpRequest();

2)给异步对象绑定事件。事件名称 onreadystatechange

例如button增加单击事件 onclick

xhr绑定事件

xhr.onreadysatechange=function() { 当事件发生时执行的代码 }

<input type="button" onclick="btnClick()" />

<script type="text/javascript">
    function btnClick(){
       按钮单击的处理代码
     
    }
</script>

在绑定事件中做什么,根据readyState值做请求的处理

xhr.readystatechagne=function(){
   if( xhr.readyState==4 && xhr.status==200 ){
        从服务器获取了数据, 更新当前页面的dom对象,完成请求的处理
        var data = xhr.responseText;
        更新dom对象
        document.getElementById("#mydiv").innertHTML = data;
   }

}
  1. 初始请求的参数,执行open()函数

    xhr.open(“get”,“loginServlet”,true)

4)发送请求,执行send()

xhr.send()

7. 第一个例子

使用全局刷新, 实现计算bmi

可以使用jsp显示request作用域中的数据,使用el表达式

也可以使用HttpServletResponse对象输出数据, 数据给了浏览器。 浏览器可以接收HttpServletResponse对象print的数据

8 同步请求和异步请求

看open(请求方式, 访问uri地址,boolean是不是异步的)

true:异步请求

false:同步请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

crud派大星

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

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

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

打赏作者

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

抵扣说明:

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

余额充值