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获取完整的回应数据

  • 相关阅读:
    Tengine 常用模块使用介绍
    linux curl 命令详解,以及实例
    win7或win2008 R2 被远程登录日志记录 系统日志
    PHP 弹出文件下载
    JavaScript 的性能优化:加载和执行
    网店转化率太低,你该怎么办?
    rpm安装PostgreSQL
    failed to load selinux policy freezing
    Scanner类nextInt方法的使用注意点
    tomcat支持https的历程
  • 原文地址:https://www.cnblogs.com/30763402/p/1612378.html
Copyright © 2011-2022 走看看