zoukankan      html  css  js  c++  java
  • 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获取完整的回应数据

  • 相关阅读:
    Oracle11g聚合函数
    和为S的连续正数数列,动态规划,C++
    统计一个数组在排序数组中出现的次数,C++,二分查找
    寻找两个链表的第一个公共子节点,C++
    二维数组中的查找
    数组中的逆序对,C++,分治算法
    得到从小到大的第N个丑数的三种方式(C++)一维动态规划
    连续字数组的最大和(Java)一个int数组,求其中的最大的连续数的和
    n个整数,求这中间最小的k个整数(Java)
    两个字符串的最长公共子串求法(C++、动态规划)
  • 原文地址:https://www.cnblogs.com/30763402/p/1612378.html
Copyright © 2011-2022 走看看