天天看点

Web中的XHRHttpRequest

1.提出者:jesse james garrett

2.ie中,xhr是通过activex对象实现的。涉及浏览器的兼容性写法。

3.使用

<1>open("请求方式","请求的url",“同步还是异步”)    

<2>send("作为请求主体发送的数据")    如果不需要,则必须传入null。

<3>responsetext()     作为响应主体被返回的文本,还有一个responsexml

<4>status    响应的http状态

<5>statustext    http状态的说明

4.readystate

只要readystate由一个值变为另外一个值,都会触发onreadystatechange事件处理程序。为了确保兼容性,应该在open之前调用onreadystatechange。有请求也就可以取消请求,使用xhr.abort()即可。

5.http的头信息

6.get请求

使用get请求经常会发生一个错误,就是差查询字符串的格式有问题。查询字符串中每个参数的名称和值都必须使用encodeuricomponent()进行编码,然后才能放到url的末尾。

blob对象:是一个二进制对象,如图片等

7.xmlhttprequest 2级

<1>formdata

为表单的序列化以及创建与表单格式相同的数据提供了便利。

<2>超时设定

请求超时执行回调:xhr.timeout=function(){}

<3>overridemimetype()

重写xhr响应的mime类型

<4>进度事件

<5>load事件

<6>progress事件

8.实例演示:

js:

Web中的XHRHttpRequest
Web中的XHRHttpRequest

结果:

Web中的XHRHttpRequest

请求与响应的信息:

Web中的XHRHttpRequest

改成post请求后:

Web中的XHRHttpRequest

2015-10-31 start

9.xhr中,post与get的简单对比

不会改变服务器状态,只获取数据(被称为“幂等行为”)的请求,使用get。经过get请求的数据会被缓存,多次请求的话,有助于提升性能。

由于浏览器对url的长度限制,使用较长url会被截断。使用post。

2015-10-31 end

转载:http://www.cnblogs.com/zqzjs/p/4912623.html

继续阅读