Ajax笔记(1)
真的找了很久的视频才找到,现在试着学一下...
今天开启新的学习内容:Ajax
首先,我们来了解一下全局刷新和局部刷新:
全局刷新和局部刷新
全局刷新: 使用form,href等发起的请求是全局刷新.用户发起请求,视图改变了,跳转视图,使用新的数据添加到页面
缺点:
1.传递的数据量比较大,占用网络的带宽
2.浏览器需要重新的渲染整个页面
3.用户的体验不是那么好
局部刷新: 在当前页面中.发起请求,获取数据,更新当前页面的DOM对象.对视图部分刷新.
特点:
- 数据量比较小,在网络中传输速度快
- 更新页面内容,是部分更新页面,浏览器不用全部渲染视图
- 在一个页面中,可以做多个局部刷新
- 从服务器获取的是数据,拿到更新视图
异步请求对象
在局部刷新中,使用异步请求对象,在浏览器内部发起请求,获取数据.
在局部刷新,需要创建一个对象,代替浏览器发起请求的行为,这个对象存在内存中.
代替浏览器发起请求并接收响应数据,这个对象叫做异步请求对象
全局刷新是同步行为,局部刷新是异步行为[浏览器数据没有全部更新]
这个异步对象用于在后台与服务器交换数据.XMLHttpRequest就是我们异步对象的名字.
异步对象XMLHttpRequest介绍
JS中的一种对象,使用JS语法创建和使用这个对象.
创建异步对象的方法:
var xhr = new XMLHttpRequest();
之后就可以使用xhr对象的属性或者函数,进行异步对象的操作
使用异步对象实现局部刷新,异步对象主要负责发起请求,传递请求的参数,并从服务器接收数据
局部刷新所要使用到的技术:
- JavaScript:创建XMLHttpRequest对象,调用它的属性或者方法
- DOML处理DOM,更新select的数据
- CSS: 处理视图,更新,美化
- servlet:服务器端技术
- 数据格式: JSON
我们把上面这些技术的综合应用叫做Ajax(阿贾克斯)
本文由“壹伴编辑器”提供技术支持
Ajax
AJAX = Asynchronous JavaScript And XML(异步的 JavaScript 和 XML)
Ajax概念:是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
就比如说我们刷朋友圈,如果是全局更新,我们在给好友点赞时,整个页面就会重新刷新,然后就会跳转到最新的一条朋友圈,划到我们原来的朋友圈位置才能看到自己给对方点了赞,而局部更新就不一样,我们点赞完,不需要重新刷新整个朋友圈,数据就直接更新到页面中,我们可以看到自己给对方点了赞,这就是局部更新.
特点: 局部刷新;
ajax的优点 1.局部刷新; 2.优化了浏览器与服务器之间的传输,减少了不必要的数据返回,减少了带宽占用; 3.ajax引擎在客户端进行,承担部分服务器的工作,减少了服务器端的压力;
ajax的缺点 1.ajax不支持浏览器back按钮。 2.安全问题 AJAX暴露了与服务器交互的细节。 3.对搜索引擎的支持比较弱。 4.破坏了程序的异常机制。 5.不易调试。
Ajax的核心是JavaScript和JSON: 使用JavaScript操作异步对象,和服务器交换使用JSON数据格式.
异步对象XMLHttpRequest的属性和方法
(1) 创建异步对象,使用JS的语法
var xhr = new XMLHttpRequest();
(2) XMLHttpRequest方法
①open(请求的方式(如get/post), 服务器端的访问地址(也就是URL), 异步还是同步)
例如open('get', 'loginServlet', true)
②send(): 使用异步对象发送请求
(3) XMLHttpRequest属性
readyState:请求的状态
- 0: 表示创建异步对象时, new了xhr实例
- 1: 表示初始化异步对象的请求参数.执行open()方法
- 2: 使用send()发送请求
- 3: 使用异步对象从服务器接收数据,正在接受服务器返回的数据
- 4: 异步对象接收了数据,并在异步对象内部处理完成后.完成响应.
status: 网络的状态,与http的状态码对应
- 200: 请求成功
- 404: 服务器资源没有找到
- 500: 服务器内部代码有错误
responseText: 表示服务器端返回的数据
例如: var data = xhr.responseText;
下一节就是使用步骤,明天继续,今天先休息了
相关文章
- Pyspark学习笔记(五)RDD操作(四)_RDD连接/集合操作
- 了解Spring丨Spring学习笔记1.0
- 什么是Ajax以及ajax请求的步骤[通俗易懂]
- Pyhton Cookbook 学习笔记 ch9_02 元编程[通俗易懂]
- Ajax教程_ajax是服务器端动态网页技术
- 【JavaWeb】学习笔记——Ajax、Axios
- 运营笔记
- .ajax get 写法,原生Ajax写法(GET)
- Vue3学习笔记(四)——组件、生命周期
- OpenHarmony 学习笔记 01
- 生信技能树笔记day5
- js ajax 设置代理ip(vue Ajax 设置 代理ip)
- MongoDB入门到进阶笔记:04-MongoDB 多种查询方式 find pretty limit skip sort
- SpringMVC学习笔记三 整合jdbc和事务详解编程语言
- 基于SpringSecurity+JWT登陆认证开发笔记一详解编程语言
- Linux笔记软件:学习必备工具(linux笔记软件)
- 印象笔记Linux版:提高工作效率的必备神器(印象笔记linux版)
- 使用Ajax轻松访问和操作MySQL数据库(ajax访问mysql)
- 腾讯专家记录Redis学习心得(腾讯专家redis笔记)
- Ajax无缝接入MySQL数据库(ajax请求mysql)
- 使用Ajax实现MySQL数据库操作(ajax操作mysql)
- 学习Ajax基于MySQL的实例实践(ajax实例 mysql)
- 展现灵活性Ajax与MySQL的交互(ajax与mysql交互)
- MySQL与Ajax 精彩无穷的开发实现(ajax与mysql)
- MySQL学习笔记快速创建存储过程(mysql下创建存储过程)
- 异步Ajax与Oracle数据库实现无缝连接(ajax连接oracle)
- ajax页面无刷新IE下遭遇Ajax缓存导致数据不更新的问题
- Laravel框架学习笔记(二)项目实战之模型(Models)
- Javascript学习笔记之函数篇(四):arguments对象
- JavaScript学习笔记之JS事件对象