原生js--异步请求

时间:2023-12-11 10:24:20

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属性。