ajax原理

    ajax全称Asynchronous JavaScript and Xml ,异步传输。

    异步传输是面向字符的传输,它的单位是字符;而同步传输是面向比特的传输,它的单位是帧,它传输的时候要求接受方和发送发的始终保持一致的。

   异步传输是将比特分成小组来进行传输。一般每个小组的一个8位字符,在每个小组的头部和尾部都有一个开始位和一个结束位,它的传输过程中接收方和发送方时钟不要求一致。异步传输存在的一个问题:即接收方不知道数据什么时候能到达。

   因为每次异步传输的信息都以一个其实为开头,它通知接收方数据已到,这就给了接收方响应、接收和缓存数据比特的时间;在传输结束时,一个停止位表示该次传输信息的终止

同步传输的比特分组要大得多。它不是独立地发送每个字符,每个字符都有自己的开始位和停止位,而是把它们组合起来一起发送。我们将这些组合称为数据帧,或简称为帧。

  ajax原理和xmlhttprequest对象

   ajax原理是通过xmlhttprequest对象来向服务器发送请求,从服务器端获得数据,然后用JavaScript来操作DOM更新页面对象。其中关键一步就是从服务器获得请求数据。

  xmlhttprequest是ajax核心机制,

  xmlhttprequest对象的属性:

  onreadstatechange 每次状态改变所触发事件的事件处理程序

  responseText    从服务器返回的数据的字符串形式

  responseXML    从数据库返回的DOM兼容的文档数据对象

  statue     从服务器返回的代码,代表状态(200 就绪  404未找到)

  readstate 对象状态值

  0 未初始化--对象已经建立,但是尚未初始化(尚未调用open方法)

  1初始化 ---- 对象建立,但是尚未调用send方法

  2数据发送---send方法以调用,但是当前的状态和http头未知

  3 数据传输中--接收部分数据,因为响应及http头不全,这时通过responseBodyresponseText获取部分数据会出现错误。

4 (完成)-- 数据接收完毕,此时可以通过通过responseXmlresponseText获取完整的回应数据

原文地址:https://www.cnblogs.com/30763402/p/1612378.html