AJAX---遵循http协议

遵循http协议

 

本质上 XMLHttpRequest 就是 JavaScript 在 Web 平台中发送 HTTP 请求的手段,

所以我们发送出去的请求任然是 HTTP 请求,同样符合 HTTP 约定的格式

 

    var xhr = new XMLHttpRequest()
    //设置请求报文的请求行
    xhr.open('GET', '/time.php');
    //设置请求头
    xhr.setRequestHeader('Accept', 'text/plain');
    //设置请求体
    xhr.send(null);

 

    xhr.onreadystatechange = function () {
      if (this.readyState === 4) {
        // 获取响应状态码 200
        console.log(this.status)
        // 获取响应状态描述 ok
        console.log(this.statusText)
        // 获取响应头信息
        console.log(this.getResponseHeader('Content‐Type')) // 指定响应头
        console.log(this.getAllResponseHeader()) // 全部响应头
        // 获取响应体
        console.log(this.responseText) // 文本形式
        console.log(this.responseXML) // XML 形式,了解即可不用了
      }
    }

 

 

1. 一旦你的请求体是 urlencoded 格式的内容,一定要设置请求头中 Content-Type 'application/x-www-form-urlencoded'
2. 也就是,请求头的content-Type的格式,要和请求体一致

    xhr.open('POST', '/add.php') // 设置请求行

    xhr.setRequestHeader('Foo', 'Bar') // 设置一个请求头
    // 一旦你的请求体是 urlencoded 格式的内容,一定要设置请求头中 Content-Type 'application/x-www-form-urlencoded'
    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
    //发送的是什么格式,上面请求头的content-Type应该匹配
    xhr.send('key1=value1&key2=value2') // 以 urlencoded 格式设置请求体

 

posted @ 2020-02-06 19:29  jane_panyiyun  阅读(184)  评论(0编辑  收藏  举报