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

原生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 回调函数在请求失败时执行。

相关文章:

  • xss自动化扫描工具-DALFox
  • Linux:程序翻译
  • 常见报错及解决方案
  • 自然语言处理:文本表示
  • Android应用开发面试题
  • 深度解析Ant Design Pro 6开发实践
  • Flink怎么搞CDC?
  • 哈工大 计算机组成原理 第四章 存储器(上)笔记
  • vue3学习-1(基础)
  • Electron + Vite + React + TypeScript 跨平台开发实践指南
  • 代码随想录算法【Day61】
  • Python大数据处理实验报告(二)
  • 2.数据结构:3.合并集合
  • C语言:51单片机 基础知识
  • 不能初始化photoshop,因为暂存盘已满
  • LeetCode 72 - 编辑距离 (Edit Distance)
  • 前端内存泄漏的几种情况及方案
  • 探索Spring Cloud Config:构建高可用的配置中心
  • 分类预测 | Matlab实现CPO-SVM冠豪猪算法优化支持向量机多特征分类预测
  • 【鸿蒙Next】 测试包 签名、打包、安装 整体过程记录
  • 竞彩湃|欧联杯决赛前,曼联、热刺继续划水?
  • 独家 |《苏州河》上海上演,编剧海飞:上海的风能吹透我
  • “家国万里时光故事会” 举行,多家庭共话家风与家国情怀
  • 中国青年报:为见义勇为者安排补考,体现了教育的本质目标
  • 七部门:进一步增强资本市场对于科技创新企业的支持力度
  • 刘永明|在从普及到提高中发展新大众文艺