Ajax请求的五个步骤(基础必备)

162 阅读2分钟

原生JS中的Ajax

4几种访问服务器的方式

1.直接在浏览器地址栏输入网址

2.使用a标签的href属性

3.使用window.location.href

4.ajax: 在页面不刷新的情况下向服务器请求数据(重点)

使用ajax发送数据的步骤

  XMLHttpRequest : http请求对象,负责实现ajax技术(小黄人)=  xhr

(1)创建XMLHttpRequest对象

 //1.创建小黄人对象XMLHTTPRequest
        let xhr = new XMLHttpRequest()

(2)设置请求

 //2.告诉小黄人服务器地址
        xhr.open("get", "https://autumnfish.cn/api/joke")

(3)发送请求

  //3小黄人出发去指定地址取外卖(数据)
       xhr.send()

(4)注册响应回调函数

 //4小黄人把取回的外卖送到你家门口
 /* 这个函数不是立即执行的,而是等服务器把数据响应返回才会执行(PS:什么时候执行取决于你的网速快慢) */
        xhr.onload = function() {
          console.log(xhr.responseText)
          document.body.innerText = xhr.responseText
        }

ajax 请求方法get和post区别

get请求: 直接在url后面拼接参数,参数在url中,安全性不高

ajax post请求:

1.需要设置请求头(固定语法):xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded')

注意:这是固定格式,错一个字母都不行,强烈建议复制粘贴

> 2.使用xhr的send方法发送参数: xhr.send('参数名=参数值')

注意:不要加前面的?

ajax post代码演示

//(1).实例化ajax对象
      let xhr = new XMLHttpRequest()
      //(2).设置请求方法和地址
      xhr.open("post", "https://autumnfish.cn/api/user/register")
      //(3).设置请求头(post请求才需要设置)
      xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
      //(4).发送请求 : 参数格式  'key=value'
      xhr.send("username=admin")
      //(5).注册回调函数
      xhr.onload = function() {
        console.log(xhr.responseText)
      }

ajax() 都可以发(区别就是传参不同)

post(url,data,success,datatype):本质上只能发送post请求 get(url,data,success,datatype):本质上只能发送get请求

同步与异步的区别(官方解释)

同步提交:当用户发送请求时,当前页面不可以使用,服务器响应页面到客户端,响应完成,用户才可以使用 页面。

  异步提交:当用户发送请求时,当前页面还可以继续使用,当异步请求的数据响应给页面,页面把数据显示出来 。

ajax的工作原理(如图所示)

2324251-20211022145028772-10131501.png