index.html 调用 ajax

index.html

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>AJAX 请求示例</title>
  <script>
    // 封装 Ajax 为公共函数:传入回调函数 success 和 fail
    function myAjax (url, success, fail) {
      // 1、创建XMLHttpRequest对象
      var xmlhttp
      if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest()
      } else {
        // 兼容IE5、IE6浏览器。不写也没关系
        xmlhttp = new ActiveXObject('Microsoft.XMLHTTP')
      }
      // 2、发送请求
      xmlhttp.open('GET', url, true)
      xmlhttp.send()
      // 3、服务端响应
      xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
          var obj = JSON.parse(xmlhttp.responseText)
          console.log('数据返回成功:' + obj)
          success && success(xmlhttp.responseText)
        } else {
          // 这里的 && 符号,意思是:如果传了 fail 参数,就调用后面的 fail();如果没传 fail 参数,就不调用后面的内容。因为 fail 参数不一定会传。
          fail && fail(new Error('接口请求失败'))
        }
      }
    }

    // 单次调用 ajax
    function singleAjaxCall () {
      myAjax('a.json', (res) => {
        console.log('单次调用结果:', res)
      }, (err) => {
        console.error('单次调用失败:', err)
      })
    }

    // 多次调用 ajax。接口请求顺序:a --> b --> c
    function multipleAjaxCalls () {
      myAjax('a.json', (res) => {
        console.log('a.json 结果:', res)
        myAjax('b.json', (res) => {
          console.log('b.json 结果:', res)
          myAjax('c.json', (res) => {
            console.log('c.json 结果:', res)
          }, (err) => {
            console.error('c.json 请求失败:', err)
          })
        }, (err) => {
          console.error('b.json 请求失败:', err)
        })
      }, (err) => {
        console.error('a.json 请求失败:', err)
      })
    }

    window.onload = function () {
      singleAjaxCall()
      multipleAjaxCalls()
    };
  </script>
</head>

<body>
  <h1>AJAX 请求示例</h1>
</body>

</html>

创建 JSON 文件

a.json

html 复制代码
{
    "message": "这是 a.json 的数据"
}

b.json

html 复制代码
{
    "message": "这是 b.json 的数据"
}

c.json

html 复制代码
{
    "message": "这是 c.json 的数据"
}

启动 HTTP 服务器

确保所有文件都在同一个目录下,然后启动 HTTP 服务器。

html 复制代码
python -m http.server 8000

访问 HTML 文件

html 复制代码
http://localhost:8000/index.html
相关推荐
会编程的土豆4 小时前
新手前端小细节
前端·css·html·项目
周航宇JoeZhou4 小时前
JB2-7-HTML
java·前端·容器·html·h5·标签·表单
代码小库4 小时前
【课程作业必备】Web开发技术HTML静态网站模板 - 校园动漫社团主题完整源码
前端·html
云计算DevOps-韩老师4 小时前
HTML 中的行级元素(inline)、块级元素(block)、行内块元素(inline-block)
html
珹洺4 小时前
Bootstrap-HTML(二)深入探索容器,网格系统和排版
前端·css·bootstrap·html·dubbo
BillKu4 小时前
VS Code HTML CSS Support 插件详解
前端·css·html
HetFrame9 小时前
一种纯前端实现 Markdown 内容即时分享的思路
html·react·链接·markdown·工具
GGGG寄了10 小时前
CSS——文字控制属性
前端·javascript·css·html
浩瀚之水_csdn10 小时前
vscode中运行html语言
ide·vscode·html
HWL567911 小时前
在网页中实现WebM格式视频自动循环播放
前端·css·html·excel·音视频