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 格式设置请求体
你好,我是Jane,如果万幸对您有用,请帮忙点下推荐,谢谢啦~另外,咱们闪存见哦~