当前位置: 首页 > article >正文

原生AJAX和jQuery的Ajax区别

原生 JavaScript 实现 AJAX

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>原生 AJAX 示例</title>
</head>

<body>
    <button id="fetchDataBtn">获取数据</button>
    <div id="result"></div>

    <script>
        document.getElementById('fetchDataBtn').addEventListener('click', function () {
            // 1. 创建 XMLHttpRequest 对象
            const xhr = new XMLHttpRequest();

            // 2. 初始化请求
            xhr.open('GET', 'https://jsonplaceholder.typicode.com/todos/1', true);

            // 3. 监听状态变化
            xhr.onreadystatechange = function () {
                if (xhr.readyState === 4) {
                    if (xhr.status === 200) {
                        // 请求成功,将响应数据显示在页面上
                        const data = JSON.parse(xhr.responseText);
                        document.getElementById('result').innerHTML = `标题:${data.title}`;
                    } else {
                        // 请求失败,显示错误信息
                        document.getElementById('result').innerHTML = `请求出错,状态码:${xhr.status}`;
                    }
                }
            };

            // 4. 发送请求
            xhr.send();
        });
    </script>
</body>

</html>

代码解释

  1. 创建 XMLHttpRequest 对象const xhr = new XMLHttpRequest(); 这行代码创建了一个用于处理 AJAX 请求的对象。
  2. 初始化请求xhr.open('GET', 'https://jsonplaceholder.typicode.com/todos/1', true); 这里使用 open 方法初始化请求,参数分别为请求方法(GET)、请求的 URL 以及是否异步(true 表示异步)。
  3. 监听状态变化xhr.onreadystatechange 用于监听 XMLHttpRequest 对象的状态变化。当 readyState 变为 4 时,表示请求已完成,再根据 status 状态码判断请求是否成功(200 表示成功)。
  4. 发送请求xhr.send(); 这行代码将请求发送到服务器。

jQuery 实现 AJAX

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>jQuery AJAX 示例</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>

<body>
    <button id="fetchDataBtn">获取数据</button>
    <div id="result"></div>

    <script>
        $(document).ready(function () {
            $('#fetchDataBtn').click(function () {
                $.ajax({
                    url: 'https://jsonplaceholder.typicode.com/todos/1',
                    method: 'GET',
                    success: function (data) {
                        // 请求成功,将响应数据显示在页面上
                        $('#result').html(`标题:${data.title}`);
                    },
                    error: function (xhr, status, error) {
                        // 请求失败,显示错误信息
                        $('#result').html(`请求出错,状态码:${xhr.status}`);
                    }
                });
            });
        });
    </script>
</body>

</html>

代码解释

  1. 引入 jQuery 库:通过 <script> 标签引入 jQuery 库,确保后续可以使用 jQuery 的方法。
  2. 绑定点击事件:使用 $(document).ready() 确保文档加载完成后再执行代码。$('#fetchDataBtn').click() 为按钮绑定点击事件。
  3. 发送 AJAX 请求$.ajax() 方法用于发送 AJAX 请求,通过配置 url 和 method 指定请求的 URL 和方法。success 回调函数在请求成功时执行,error 回调函数在请求失败时执行。

http://www.kler.cn/a/573482.html

相关文章:

  • 分析白屏winscope
  • uniapp 使用htmlPlus从相册选择照片并上传OSS
  • 火语言RPA--切割PDF文档
  • 【LangChain】存储与管理对话历史
  • Python项目-基于深度学习的校园人脸识别考勤系统
  • HTTP/2 服务器端推送:FastAPI实现与前端集成指南
  • spaCy 入门:自然语言处理的高效工具
  • 【wordpress】服务器已有LNMP环境(已运行WordPress),如何配置文档访问功能?
  • 12、JavaEE概述
  • HTML学习笔记(全)
  • 区块链共识机制深度揭秘:从PoW到PoS,谁能主宰未来?
  • 【Keras图像处理入门:图像加载与预处理全解析】
  • 阿里云 linux centos7 安装mysql
  • linux server docker 拉取镜像速度太慢或者超时的问题处理记录
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_conf_read_token - 详解(1)
  • Camera相关配置
  • 谷歌自研AI大模型Gemini 2.0介绍以及API调用方法
  • idea中使用DeepSeek让编程更加便捷
  • 用于管理 Elasticsearch Serverless 项目的 AI Agent
  • Visual Studio Code (VSCode) 使用 GDB 进行调试