1. XMLHttpRequest

现在所有浏览器都支持XMLHttpRequest对象,(IE5,IE6使用ActiveObject)。

XMLHttpRequest用于在后台与服务器交换数据。

2. 创建XHR对象

var xmlhttp = new XMLHttpRequest();

3. XHR 请求

xmlhttp.open("GET", "file", true);
xmlhttp.send();

xmlhttp.open("POST", "ajax.html", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencode");
xmlhttp.send("name=janes&passwd=123456");
open(method, url, async)
    method: 请求的类型,GET or POST
    url: 文件在服务器的位置
    async:true(异步), flasse(同步)

send(string)
    string: 仅用于POST请求

serRequestHeader(header,value)
    header:请求头名称
    value:请求头的值

注:

  • POST vs GET

1.特定情况使用POST

无法使用缓存文件(更新服务器上的文件或数据库)
向服务器发送大量数据(POST没有数据量限制)
发送包含未知字符串的用户输入时
  • open async

XHR对象用于AJAX的话,async必须设置为true,

4. 服务器响应

responseText
    获得字符串形式的响应数据
responseXML
    获得XML形式的响应数据

5. onreadystatechange 事件

当请求被发送到服务器时,执行一些基于响应的任务

每当readyState 改变时,就会触发onreadystatechange事件

readyState属性存有XMLHttpRequest的状态信息

onreadystatechange
    存储函数或函数名,每当readyState属性改变时,就会调用该函数

readyState
    0: 请求未初始化
    1: 服务器连接已建立
    2: 请求已接收
    3: 请求处理中
    4: 请求已完成,且响应就绪

state
    200: OK
    404: not found

results matching ""

    No results matching ""