简述Ajax

293 阅读1分钟

Ajax 即 'Asynchronous Javascript And XML' , 他可以在不重新加载整个页面的情况下对页面的某些部分局部刷新。

简单的来说,Ajax就是 使用JS发送请求和接收响应

当然,在使用Ajax之前,我们需要一个路由


Ajax的四个步骤

Ajax 的实现一般需要实现四个步骤。

btn.onclick = () =>{
    const request = new XMLHttpRequest()
    //1.创建一个XMLHttpRequest对象
    request.open('GET/POST','URL')
    //2.调用对象的open方法
    request.onreadystatechange = ()=>{
        if (
          request.readyState === 4 &&
          request.status >= 200 &&
          request.status < 300
        ){
            console.log(request.response)
        }else{
            //报错
        }
    }
    //3.监听Ajax请求是否成功
    requset.send()
    //4.调用对象的send方法发送请求
}

当我们使用Ajax加载css,html时,request.response获取到的都是string,需要使用innerHTML来将其插入到元素中,而XML则只需要获取其request.responseXML即可。


JSON

JSON 是在js的基础上简化而来的一门语言,他拥有体积小,速度快等优点,所以我们经常需要使用到他。

JSON支持的数据类型只有6种。

  1. string
  2. number
  3. boolean
  4. null
  5. object
  6. array

并且,他不支持函数和变量。

我们通过Ajax也可以调用到JSON,还可以通过JSON的一些接口,将其转换为对于的js数据类型。

  1. JSON.parse()

将JSON语法的字符串转换成js对应类型的数据

我们可以使用try catch 捕获错误

let x;
      try {
        x = JSON.parse(request.response);
      } catch (error) {
        console.log("JSON.parse(request.response)转换错误");
        console.log(error);
      }
  1. JSON.stringify() 是 JSON.parse() 的逆运算。

实现一个简单的加载分页

第一页我们可以通过 拼接字符串的方式 实现静态加载,之后可以通过Ajax实现动态加载。