1.取色网站:http://www.colorzilla.com/gradient-editor/
XMLHttpResquest对象
IE7之前的老的浏览器并不能支持XMLHttpRequest()这个构造函数,但是IE5 IE6里面浏览器可以模拟这个构造函数(在IE5 IE6里面使用的是ActiveX对象):
if(window.XMLHttpResquest === undefined){
window.XMLHttpResquest = function(){
try{
//如果可以使用ActiveX对象最新版本
return new ActiveXObject('Msxml2.XMLHTTP.6.6')
}
catch (e){
try{
//否则退回交旧版本
return new ActiveXObject( 'Msxml2.XMLHTTP.3.0' )
}
catch (e1){
throw new Error('XMMLHttpRequest is not find')
}
}
}
}
一个HTTP请求包含4个部分
- HTTP请求方法或动作
- 正在请求的URL
- 一个可选请求头集合,可能包含验证信息
- 一个可选的请求主体
服务器返回的HTTP请求包含3部分
- 一个数字或文字组成的状态码,用来显示请求成功或者失败
- 一个响应头集合
- 响应主体
var request = new XMLHttpResquest();
request.open( methods , URL );
- 当发起一个HTTP请求时,首先会实例化一个XMLHttpResquest()对象,第一步就是调用他的open()属性,来指定HTTP请求的方法和URL
- request.open( methods , URL )
- open含三个参数,第一个用来说明HTTP请求的方式
- 请求方式可以是GET POST DELETE HEAD PUT OPTIONS,虽然请求方式不区分大小写但是一般采用大写来匹配HTTP请求
- 第二个参数用来指定请求路径
- 第三个参数可选
- 如果有请求头的话,请求的下一个进程就是设置请求头
- request.setRequestHeader('Content-type' : 'text/plain')
- 或者还有一些参数等
- 如果对相同的头调用多次setRequestHeader()方法,后面的不会将前面的覆盖,只会在HTTP请求头中包含多个请求头副本或者是把请求头指向多个值
- 有一些头是我们无法人为添加,而XMLHttpResquest对象会自动添加到请求头里面的,目的是为了防止伪造他们
- 发起HTTP的最后一步是,指定可选的请求头主体并向服务器发送它,使用send()方法
- request.send(null)
- get请求是绝对没有请求主体的,所以通常设置为null或者省略这个参数,但是post通常会有请求主体,并且配合setRequestHeader()来设置对应的请求头
- 注意:setRequestHeader()一定是在open()之后send()之前
网友评论