XMLHttpRequest对象 请求与响应

XMLHttpRequest对象介绍

XMLHttpRequest对象用于浏览器和服务器之间的通信,是Ajax的主要接口。

创建XMLHttpRequest对象

var request = new XMLHttpRequest()

XMLHttpRequest发送请求

主要使用open()和send()两个方法
open(method, url, async)
method–请求方法, url–请求地址,asycn–是否异步(默认为true)
send(string) 发送请求,string为传递的参数,可为null
POST类型的请求需要在open()和send()方法之间调用setRequestHeader()方法设置请求头

// GET请求
var request = new XMLHttpRequest()
request.open('GET', '/data.text')
request.send()

// POST请求
request.open('POST', '/data.text')
request.setRequestHeader("Context-type", "application/x-www-form-urlencoded")
request.send("name=tom&age=18")

XMLHttpRequest获取响应

属性:

  •   responseText:获得字符串形式的相应数据
    
  •   responseXML:获得XML形式的响应数据
    
  •   status和statusText:以数字和文本形式返回HTTP状态码
    
  •   readyState:通信状态
    
  •      0:请求未初始化,open()还未调用
    
  •      1:建立服务器连接,open()被调用
    
  •      2:请求已接受,接收到头信息
    
  •      3:请求已经处理,接收到响应主体
    
  •      4:请求完成
    

方法:

  •   getAllResponseHeader():获取所有的响应报头
    
  •   getResponseHeader():查询响应中的某个字段
    
// XMLHttpRequest获取响应
request.onreadystatechange = function() {
    if(request.readyState === 4 && request.status == 200){
        console.log(responseText)
    }
}

你可能感兴趣的:(每天一点前端)