本文是学习《HTML5 高级程序设计》的一些学习笔记。
XMLHttpRequest Level 2
浏览器支持情况:
Chrome 2.0+
FF 3.5+
IE 不支持
Opera 不支持
Safari 4.0+
var xhr = new XMLHttpRequest(); if(typeof xhr.withCredentials === undefined){ //不支持 }esle{ //支持 }
改进主要体现在两个方面:
1、跨源XMLHttpRequest
- 过去XMLHttpRequest仅限于同源通信。
- XMLHttpRequest Level 2通过CORS(Cross Origin Resource Sharing 跨源资源共享)
跨源HTTP请求包括一个
Origin头部,它为服务器提供HTTP请求的
源信息。头部由浏览器保护、不能被应用程序代码更改。本质上,它与跨文档消息通信中消息事件的origin属性作用一样。Origin头部不同于早先的Refer头部,后者的Referer是一个包括了完整URL。为保护隐私,浏览器并不一定发送Referer,而在任何必要的时候发生Origin头部。
2、进度事件
- 以前的时候只有readystatechange一个事件来响应速度,存在兼容,在IE中永远无法触发readystate为3
- XMLHttpRequest Level 2中的进度事件:
loadstart
progress
abort
error
load
loadend