1.什么是Ajax

  • Ajax: Asynchronous javascript and xml (异步javascript和xml)。

  • ==Ajax并不是一种新技术,而是已有技术的集合。JavaScript是核心载体==。

  • Ajax优势:在不刷新页面的情况下,更新页面数据,提升用户体验。

  • ==Ajax就像一个小秘书==,能够实现异步工作。

2.ajax核心对象 --- XMLHttpRequest

  创建ZMLhttpRequest对象,兼容IE7之前和主流浏览器

//创建XMLHttpRequest对象,兼容低版本IE和非IE浏览器
function getXhr () {
var xmlhttp; if (window.XMLHttpRequest) {
//IE7+ 和 非IE 中都有 XMLHttpRequest对象
xmlhttp = new XMLHttpRequest();
} else {
//低版本IE浏览器 实例化方式
xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
} return xmlhttp;
}

3.核心方法

XMLHttpRequest对象有了,可以发送Ajax请求了.发送请求有两个方法:

open(var1,var2,var3):准备ajax请求

var1: 请求方式  get/post
var2: 请求的后端程序地址
var3: 异步(true)/同步(false),可选参数,默认为true
 var: 分为两种情况。 如果是get请求,则填写null。 如果是post请求,则填写要发送到后端的数据。

 ==发送ajax请求流程

  1) 创建XMLHttpRequest对象

  2) 调用open方法准备ajax请求

  3) 调用send方法发送ajax请求

4.接收后端响应结果

Ajax的整个过程有5个状态,对应readyState的5个值:0-4

  0: (Uninitialized) the send( ) method has not yet been invoked.

  1: (Loading) the send( ) method has been invoked, request in progress.

  2: (Loaded) the send( ) method has completed, entire response received.

  3: (Interactive) the response is being parsed.

  4: (Completed) the response has been parsed, is ready for harvesting.

  0 - (未初始化)还没有调用send()方法

  1 - (载入)已调用send()方法,正在发送请求

  2 - (载入完成)send()方法执行完成,已经接收到全部响应内容

  3 - (交互)正在解析响应内容

  4 - (完成)响应内容解析完成,可以在客户端调用了

5.核心事件 --- onreadystatechange

 onreadystatechange事件:  readyState的值每次发生变化都会触发该事件。    0-->1    1-->2    2-->3    3-->4 总共触发4次

6.其他属性

  responseText; 以字符串形式接受后端程序的返回值.

最新文章

  1. tp5 model 的时间戳
  2. Can't use Subversion command line client: svn Probably the path to Subversion executable is wrong. Fix it.
  3. 可爱的Python_课后习题_CDay−2 完成核心功能
  4. transient的使用
  5. ios二维码生成
  6. 浅入“Block Formatting Context”
  7. 无法打开包括文件:'atlrx.h'的解决办法
  8. log4net资料收集
  9. Java之美[从菜鸟到高手演变]之JVM内存管理及垃圾回收
  10. 【面试题042】翻转单词顺序VS左旋转字符串
  11. [转]httpclient 上传文件、下载文件
  12. WPF ResourceDictionary的使用
  13. geotrellis使用(三十七)COG 基础介绍
  14. 分享几个 SpringBoot 实用的小技巧
  15. 2016/12/20 dplの课练
  16. java多线程系列 目录
  17. BVLC CaffeNet可视化及类别预测
  18. storm集成kafka的应用,从kafka读取,写入kafka
  19. 使用 WebSocket 客户端连接 MQTT 服务器
  20. 第二次作业 --- 我对QQ的评测

热门文章

  1. JS 执行机制笔记
  2. 10、Java 数组的定义和使用
  3. 使用DockerFile构建运行GoWeb
  4. Nginx定时日志切割
  5. 滴滴推理引擎IFX:千万规模设备下AI部署实践
  6. LeetCode746 Min Cost Climbing Stairs(爬上楼梯的最小损失)
  7. 【EFCore】利用Entityframework Core创建数据库模型
  8. PythonCrashCourse 第五章习题
  9. Mybatis入门(四)------联表查询
  10. python基础-文件读写'r' 和 'rb'区别