Ajax及其应用

目录

1.Ajax工作原理

2.XMLHttpRequest对象

2.1XMLHttpRequest对象常用属性

2.2XMLHttpRequest对象常用方法

3.AJAX操作的步骤


1.Ajax工作原理

Ajax 全称Asynchronous JavaScript and XML,异步JavaScript和XML技术

用于实现与服务器进行异步交互的功能

2.XMLHttpRequest对象

2.1XMLHttpRequest对象常用属性

  • 当ready State=1时,onreadystatechange触发
  • responseText只包括主体内容,不包括头部
  • SPA:单页面应用程序
  • 当把responseType="json"时,response拿到的就是JS object(js对象)
  • responseType:指定回应类型,response:根据回应类型解析成对应格式
  • status状态码,statusText状态码文本

2.2XMLHttpRequest对象常用方法

  •  setRequestHeader():设置 HTTP 请求头部的方法(用的更多)
  • Context-Type->application/json即告诉服务端我请求的数据是json

3.AJAX操作的步骤

1.创建XMLHttpRequest对象

2.建立监听

3.设置参数

4.发送请求到服务端

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
</head>

<body>
  <ul id="posts"></ul>
  <!-- 无序列表,装一个新闻 -->
  <script>
    var url = "http://1.14.69.117:5000/posts";
    //   var url = "http://1.14.69.117:5000/postsss";

    //1.new对象
    var xhr = new XMLHttpRequest();
    //2.建监听
    xhr.addEventListener("load", function () {
      if (xhr.status === 200) {
        console.log(xhr.response);
        //(1)把JSON格式字符串转换为数组
        var data = JSON.parse(xhr.response);
        //  (2)遍历数组,创建li
        var allLi = "";
        for (var i = 0; i < data.length; i++) {
          var oneLi = `<li>title:${data[i].title} author:${data[i].author}</li>`; //模板字符串
          allLi = allLi + oneLi;
        }
        //(3)将所有li加入到ul
        document.querySelector("#posts").innerHTML = allLi;
      } else {
        console.log("get server error response:", xhr.status);
      }
      // console.log(xhr.response); //第二步(异步) 第一步(同步)
      console.log("recevie all data"); //第三步(异步) 第二步(同步)
    });
    //3.设置参数(默认是异步)
    xhr.open("GET", url, false); //第三个参数为false,即表示同步,为true表示异步
    //4.发送
    xhr.send();
    console.log("after send"); //第一步(异步) 第三步(同步)
  </script>
</body>

</html>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值