全面分析前端的网络请求方式
下面分别对XMLHttpRequest对象常用的的函数、属性、事件进行分析。 函数 open 用于初始化一个请求,用法:
send 用于发送 HTTP 请求,即调用该方法后HTTP请求才会被真正发出,用法:
abort 用于终止一个ajax请求,调用此方法后readyState将被设置为0,用法:
setRequestHeader 用于设置HTTP请求头,此方法必须在 open() 方法和 send() 之间调用,用法:
getResponseHeader 用于获取http返回头,如果在返回头中有多个一样的名称,那么返回的值就会是用逗号和空格将值分隔的字符串,用法: var header = xhr.getResponseHeader(name); 属性 readyState 用来标识当前XMLHttpRequest对象所处的状态,XMLHttpRequest对象总是位于下列状态中的一个: status 表示http请求的状态, 初始值为0。如果服务器没有显式地指定状态码, 那么status将被设置为默认值, 即200。 responseType 表示响应的数据类型,并允许我们手动设置,如果为空,默认为text类型,可以有下面的取值: response 返回响应的正文,返回的类型由上面的responseType决定。 withCredentials ajax请求默认会携带同源请求的cookie,而跨域请求则不会携带cookie,设置xhr的withCredentials的属性为true将允许携带跨域cookie。 事件回调 onreadystatechange
当readyState 属性发生变化时,callback会被触发。 onloadstart
在ajax请求发送之前(readyState==1后, readyState==2前),callback会被触发。 onprogress
回调函数可以获取资源总大小total,已经加载的资源大小loaded,用这两个值可以计算加载进度。 onload
当一个资源及其依赖资源已完成加载时,将触发callback,通常我们会在onload事件中处理返回值。 异常处理 onerror
当ajax资源加载失败时会触发callback。 ontimeout
当进度由于预定时间到期而终止时,会触发callback,超时时间可使用timeout属性进行设置。 六、jQuery对Ajax的封装 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |