了解XMLHttpRequest
1.XMLHttpRequest对象是 AJAX 的主要接口,用于浏览器与服务器之间的通信;
2.XMLHttpRequest本身是一个构造函数,可以使用new命令生成实例,它没有任何参数,且构造出来的对象是一个异步对象,这就说明我们的ajax请求都是异步操作
用js写原生ajax只需要三大步
1.创建一个XMLHttpRequest(异步对象)
2.请求报文--(包含请求行,请求头,请求体)
3.接收响应结果
结构如下:
1.创建一个XMLHttpRequest异步对象
let xhr = XMLHttpRequest()
2.请求报文
(1)请求行--open方法用来设置请求的方式和接口地址
xhr.open('请求方式','接口地址 ')
(2)请求头--一般用来设置编码格式,或者token令牌(如无参数,可不设置编码格式)
xhr.setRequestHeader('Content-Type',' 编码格式 ')
(3)请求体--用来发起请求,有参时需要传递参数(传参时需要注意在请求头设置对应的编码格式),无参时直接调用即可
xhr.send('参数')
3.接收响应结果--因为请求是异步操作,所以我们需要给对象加一个load事件,方便接收服务器响应的结果
xhr.onload = function () {
//response属性可以获取服务器响应的结果
console.log(xhr.response)
//响应的结果是JSON字符串格式,所以需要转一下格式
console.log(JSON.parse(xhr.response));
}
代码如下:
//创建XMLHttpRequest对象
let xhr = new XMLHttpRequest()
//请求报文
//行
xhr.open('请求方式', '接口地址')
//头
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
//体
xhr.send(
`bookname=${booknameV}&author=${authorV}&publisher=${publisherV}`
)
xhr.onload = function () {
console.log(xhr.response)
console.log(JSON.parse(xhr.response));
}
原生ajax只要清楚原理是啥,结构怎么写就可以啦,各位加油冲