原生js--异步请求
1、异步请求的方法:
iframe、script、XMLHttpRequest、comet(服务器端发起)
2、XMLHttpRequest
request = new XMLHttpRequest();
open( "GET", url );
两个必须的参数。
“GET” “POST”等,不区分大小写,但通常用大写字母来匹配HTTP协议
想要缓存数据时,最好使用get方法。
如果传false为其第三个参数,则该方法变为同步获取数据,但一般不能这么做,这样很容易阻塞整个浏览器的UI
request.setRequestHeader( "Content-Type", "text/plain" );
多次为相同的头设置值不会替换掉原来的值,而是保存多个副本或者为这个头指定多个值
request.onreadystatechange = function(){}
使用onreadystatechange事件 监控request的readystate属性值
request.readyState === 4 && request.status === "200"
当readystate的值等于4并且request的状态码返回200时说明正常返回了值
request.send( null );
如果是使用“get”方法,send的参数传null或不传值(传值也不起作用)
request.getResponseHeader( "Content-Type" );
返回的值存放在requestText中,如果是XML(包括HTML)文件,可能会有一个解析为DOM的requestXML属性。