欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > axios的底层ajax,XMLHttpRequest原理解释及使用方法

axios的底层ajax,XMLHttpRequest原理解释及使用方法

2024/10/24 1:59:19 来源:https://blog.csdn.net/Zwwxd666/article/details/140132301  浏览:    关键词:axios的底层ajax,XMLHttpRequest原理解释及使用方法

定义

ajax全称asychronous JavaScript and XML

意思是异步的 JavaScript和xml, 也就是通过javascript创建XMLHttpRequest (xhr)对象与服务器进行通信

步骤

创建实例对象,初始请求方法和url,设置监听器监听请求完成状态,发送请求

代码

  <button class="xhrButton">注册</button><script>const xhrButton = document.querySelector('.xhrButton')xhrButton.addEventListener('click', () => {// 传递请求体参数操作,对应axios中的data 数据原理// 需设置请求头的contentType内容为json和将对象转为字符串//Content-Type=application/json  //  application为形容词,应用程序级别的文本格式xhr.open('POST', 'http://hmajax.itheima.net/register')xhr.setRequestHeader('Content-Type', 'application/json')xhr.addEventListener('loadend', () => {console.log(xhr.response.data);})const user = {username: '555',password: '666'}const jsonData = JSON.stringify(user)const xhr = new XMLHttpRequest()// 传递查询参数操作,对应axios封装的params参数// 但是,如果有很多的参数我们都得使用多个模板字符串吗?// 这里使用到将多个参数转变为查询参数的api// const findParmas = {//   pa1: 1,//   pa2: 2,//   pa3: 3// }//构造函数创建出转换器对象,然后调用toString这个Api// const transform=new URLSearchParams(findParmas)// const data=transform.toString()// xhr.open('GET',`http://xxxxx?${data}`)// 这里的第三个参数为是否开启异步请求的布尔值xhr.send(jsonData)// 如果是查询参数则send里不需要填,参数在地址那填入})</script>

你可以通过使用urlsearchParam路径参数转换器将对象转为查询参数格式a=1&b=2 然后发送,对标axios里的params。

也可以将对象转为json字符串然后设置请求头为json类型的数据作为请求体在最后xhr.send(data)也就是axios里data那玩意发送给服务器

查看请求内容类型

image-20240702172457127

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com