<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <script> function createXHR() { if (typeof XMLHttpRequest != 'undefined') { // IE7+、Firefox 、Opera、Chrome和Safari 都支持原生的XHR对象 return new XMLHttpRequest() } else if (typeof ActiveXObject != 'undefined') { if (typeof arguments.callee.activeXString != 'string') { var versions = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp"], i, len; for (i = 0, len = versions.length; i < len; i++) { try { new ActiveXObject(versions[i]) arguments.callee.activeXString = versions[i] break } catch(ex) { } } } return new ActiveXObject(arguments.callee.activeXString) } else { throw new Error('No XHR object available.') } } var xhr = createXHR() xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) { console.log(xhr.responseText) var allHeaders = xhr.getAllResponseHeaders() console.log(xhr.getResponseHeader('Last-Modified')) console.log(allHeaders) } else { console.log('Request was unsuccessful: ' + xhr.status) } } } var url = 'http://static01.baomihua.com/js/lib/jquery-1.4.4.min.js?t=20120926.js' // js文件 var url = 'http://static01.baomihua.com/text.txt' // txt文件 xhr.open('get', url, true) xhr.setRequestHeader('MyHeader', 'MyValue') // 发送给服务器端,服务器端返回什么是另外一回事 xhr.send(null) /** * responseText 作为响应主体被返回的文本 * responseXML 如果响应的内容类型是 "text/xml"或"application/xml",这个属性中将保存包含着响应数据的XML DOM 文档 * status 响应的HTTP状态 * statusText HTTP状态的说明 * readyState 该属性表示请求/响应过程的当前活动阶段 * 状态代码为304 表示请求的资源并没有被修改,可以直接使用浏览器中缓存的版本 * * 使用GET 请求经常会发生的一个错误,就是查询字符串的格式有问题。 * 查询字符串中每个参数的名称和值都必须使用encodeURIComponent()进行编码,然后才能放到URL 的末尾; * 而且所有名- 值对儿都必须由和号(&)分隔 */ </script> </body> </html>