Ajax学习小记-概念

异步

通过 XMLHttpRequest 函数来实现客户端和服务器端的异步处理

具体实现:

  • 运用HTML和CSS来实现页面,表达信息;
  • 运用XMLHttpRequest和Web服务器进行数据的异步交换;
  • 运用JavaScript操作DOM,实现动态局部刷新;

XMLHttpREquest对象

  • 不兼容IE6
    1
    2
    3
    4
    5
    6
    var request;
    if (window.XMLHttpRequest) {
    request = new XMLHttprequest();//IE7+,chrome,ff,safari.
    } else {
    request = new ActiveXobject('Microsoft.XmlHTTP');??
    }

HTTP请求

HTTP请求过程

  1. 建立TCP连接
  2. Web浏览器向Web服务器发送请求命令
  3. Web浏览器发送请求头信息
  4. Web服务器应答
  5. Web服务器发送应答头信息
  6. Web服务器向浏览器发送数据
  7. Web服务器关闭TCP连接

HTTP组成部分

  1. HTTP请求的方法或动作,比如是GET还是POST请求
  2. 正在请求的URL
  3. 请求头(如客户端环境信息,身份验证信息)
  4. 请求体,也就是请求 正文,请求好着呢个文中可以包含客户提交的 查询字符串信息,表单信息等等。

重点概念

  • GET:
    1. 一般用信息获取
    2. 使用URL传递参数
    3. 对所发送信息的数量也有
  • POST:

    1. 一半用于修改服务器上的资源
    2. 对所发送的信息数量无限制
  • 响应组成:

    1. 数字文字的状态码,显示请求的成功和失败
    2. 响应头
    3. 响应体
  • HTTP状态码

    1. 1XX:信息类,表示收到浏览器请求,正在处理
    2. 2XX: 成功,正确接受
    3. 3XX:重定向,请求失败
    4. 4XX:客户端错误,如 404 NOT
    5. 5XX:服务器错误,如 500

XMLHttpRequest发送请求:

  • open(method,url,async)

    1. method:规定HTTP发送请求的方式是get还是post,不区分大小写,一般来说用大写
    2. url:请求地址(相对地址或绝对地址)
    3. async:同步/异步(false/true),默认是异步也就是true,可以不用填写
  • send(string):

    发送到服务器(该参数可以填或者不填—–get方法不填或填null,post:一般要填)

image


XMLHttpRequest取得响应

  • responseText:获得字符串形式的响应数据
  • responseXML:获得XML形式的响应数据(比较少)
  • status和statusText:以数字和文本形式返回HTTP状态码
  • getAllResponseHeader():获取所有的响应报头
  • getResponseHeader():查询响应中的某个字段的值

readyState属性的变化代表服务器响应的变化

  1. 请求未初始化,open还没有调用
  2. 服务器连接已建立,open已经调用了
  3. 请求已接收,也就是接收到头信息了
  4. 请求处理中,也就是接收到了响应主体
  5. 请求已完成,且响应已就绪,也就是响应完成了