AJAX基础

  • 什么是AJAX?
  • Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
  • AJAX不是一个技术,二十多个技术的联合产物。
  • AJAX是浏览器客户端上的前端技术,只要是web开发,不管服务器端的编程语言是哪一种,AJAX都是很重要的。
  • 异步和同步有什么区别?
  • 异步:A线程和B线程并发执行谁也不等待谁
  • 同步:当A线程执行的时候B线程需要等待,当B线程执行的时候A线程也需要等待,这就是同步
  • 使用AJAX可以做到异步
  • 浏览器本身也是支持多线程并发的,其中ajax就是一个线程,一个页面上可以同时发送多个AJAX请求。
  • 使用传统的请求方式,请求只能发送一次,当一次请求发送,整个浏览器页面被锁住,无法点击其他按钮发送其他请求,浏览器会将本页面的全部数据清空,迎接新的页面。
  • AJAX主要解决的就是页面的局部刷新,使用AJAX可以在同一个网页中发送多个请求,每个请求之间互不干扰,以提高用户的体验。
  • 核心对象 XMLHttpRequest对象
  • 当需要异步与服务器交换数据时,需要XMLHttpRequest对象来异步交换。
  • 发送AJAX请求全靠浏览器内置对象XmlHttpRequest,使用XmlHttpRequest对象可以在浏览器中单独启动一个浏览器线程,通过浏览器线程发送该请从而达到异步效果。
  • XMLHttpRequest对象的主要属性有:
  • onreadystatechange —— readystate属性值每改变一次,就会触发一次事件处理程序。
  • responseText —— 从服务器进程返回数据的字符串形式。
  • responseXML —— 从服务器进程返回的DOM兼容的文档数据对象。
  • status —— 从服务器返回的数字代码,如404(未找到) 和 200(已就绪)。
  • status Text —— 伴随状态码的字符串信息。
  • readyState —— 对象状态值。对象状态值有以下几个:
0 - (未初始化)还没有调用send()方法

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

                             2 - (载入完成)send()方法执行完成

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

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