原生JS简单实现ajax的方法示例

实现 AJAX 的方法有很多种,其中最基础的一种方法是使用原生的 JavaScript(简称原生 JS)来实现。下面详细讲解如何简单实现 AJAX。

使用 XMLHttpRequest 对象发送 AJAX 请求

使用 XMLHttpRequest 对象发送请求是使用原生 JS 实现 AJAX 的最基础的一种方法。步骤如下:

  1. 创建 XMLHttpRequest 对象
let xhr = null;
if (window.XMLHttpRequest) {
    xhr = new XMLHttpRequest();
} else if (window.ActiveXObject) {
    // 兼容IE6及以下版本
    xhr = new ActiveXObject('Microsoft.XMLHTTP');
} else {
    alert('您的浏览器不支持XMLHttpRequest对象!');
    return;
}
  1. 打开一个链接
xhr.open('GET', 'http://example.com/api/getData', true);

其中,第一个参数表示 HTTP 请求方法,如 GET、POST 等;第二个参数表示请求的 URL;第三个参数表示是否异步。

  1. 发送请求
xhr.send();
  1. 监听请求状态
xhr.onreadystatechange = function() {
    if (xhr.readyState === 4) {
        if (xhr.status === 200) {
            // 请求成功
            console.log(xhr.responseText);
        } else {
            // 请求失败
            console.error(xhr.status, xhr.statusText);
        }
    }
};

其中,readyState 表示 XMLHttpRequest 的状态,一共有五个取值,分别为:

  • 0:未初始化,尚未调用 open() 方法;
  • 1:已打开,已调用 open() 方法,但尚未调用 send() 方法;
  • 2:已发送,已调用 send() 方法,但尚未收到响应;
  • 3:接收中,正在接收响应数据;
  • 4:已完成,已接收到完整的响应数据。

status 表示 HTTP 响应状态码,2xx 表示请求成功,3xx 表示重定向,4xx 表示客户端请求错误,5xx 表示服务器错误。

使用 Fetch API 发送 AJAX 请求

使用 Fetch API 发送 AJAX 请求是一种相对较新的方法,它是基于 Promise 的,相比 XMLHttpRequest 对象更简单易用。示例如下:

fetch('http://example.com/api/getData')
    .then(response => {
        if (response.ok) {
            return response.json();
        } else {
            throw new Error('请求失败');
        }
    })
    .then(data => {
        console.log(data);
    })
    .catch(error => {
        console.error(error);
    });

其中,fetch() 方法返回一个 Promise 对象,then() 方法用来处理成功的回调函数,catch() 方法用来处理失败的回调函数。如果 HTTP 响应状态码为 2xx,则将响应对象转成 JSON 格式的数据;否则抛出错误。最终在控制台输出 JSON 格式的数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:原生JS简单实现ajax的方法示例 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • javascript键盘事件全面控制脚本代码

    下面我将为您详细讲解“JavaScript键盘事件全面控制脚本代码”的完整攻略。 简介 JavaScript键盘事件指被触发时相关动作可以被监听的事件,可以对用户在键盘上输入的所有数据进行监听和控制,从而实现对脚本代码的全面控制。 详细说明如下: 键盘事件类型 JavaScript键盘事件常用的事件类型包括: keydown:按下键盘上的任意键时触发。 ke…

    JavaScript 2023年6月11日
    00
  • JavaScript高级程序设计(第3版)学习笔记11 内建js对象

    下面是《JavaScript高级程序设计(第3版)学习笔记11 内建js对象》的学习攻略。 常用内建对象 JavaScript中内建对象众多,本章介绍的是一些常用的内建对象。 Boolean对象 Boolean对象只有两种可能的实例,即true和false,如果将其他数据类型转换为Boolean类型,规则是:除了””、0、NaN、null和undefined…

    JavaScript 2023年5月18日
    00
  • JS显示下拉列表框内全部元素的方法

    关于“JS显示下拉列表框内全部元素的方法”的完整攻略,我来给您讲解一下。 确定需求 要实现下拉列表框内全部元素的显示,我们需要先明确我们的需求,确定我们希望通过什么方式来实现这个功能。通常情况下,实现下拉列表框内全部元素的显示,我们可以采用以下两种方式: 将下拉列表框的size属性值设置为需要显示的元素个数; 通过JS获取下拉列表框中所有的选项元素,并动态为…

    JavaScript 2023年6月11日
    00
  • JS button按钮实现submit按钮提交效果

    下面是详细讲解“JS button按钮实现submit按钮提交效果”的完整攻略。 1. 实现步骤 1.1 编写HTML代码 首先,我们需要在HTML中创建一个表单,里面包含需要提交的数据。通过<form>标签来创建表单,<input>标签用于创建输入框、单选框、多选框等表单控件。 <form> <label>U…

    JavaScript 2023年6月10日
    00
  • js 对象是否存在判断

    判断 JavaScript 对象是否存在是Web开发中经常使用到的操作之一。以下是几种常见的判断 JavaScript 对象是否存在的方法。 方法一:使用typeof关键字 使用 typeof 关键字可以判断一个变量是否存在。当变量存在时,typeof 关键字返回其类型,否则将返回 “undefined”。 if (typeof myObj === &quo…

    JavaScript 2023年5月27日
    00
  • JS学习之一个简易的日历控件

    下面是针对“JS学习之一个简易的日历控件”的完整攻略。 介绍 这是一篇教程,讲解如何使用JavaScript实现一个简易的日历控件。通过阅读教程,您将学会以下内容: 理解日历的基本概念和操作 创建一个日历控件的HTML结构 通过JavaScript实现控件的基本功能和逻辑 通过这个教程,您将同时学习到HTML和JavaScript的知识,提高自己的前端开发技…

    JavaScript 2023年5月27日
    00
  • JavaScript用200行代码制作打飞机小游戏实例

    这篇攻略将详细讲解如何使用 JavaScript 用 200 行代码制作一个简单的打飞机小游戏。我们将会使用 HTML5 Canvas 作为游戏画布,并构建游戏的逻辑和基本元素。整个游戏的框架代码只需要不到 200 行,但你可以根据需要自行扩展其功能。 1. 创建 HTML 画布 首先,在 HTML 代码中创建一个 Canvas 画布,并使用 CSS 样式设…

    JavaScript 2023年5月27日
    00
  • js调试系列 控制台命令行API使用方法

    JS调试系列:控制台命令行API使用方法 控制台是Web浏览器开发工具的一部分,可以用于调试JavaScript代码以及检查页面元素。控制台中包含了一个强大的命令行接口,用户可以通过API直接与页面交互,从而进行调试、编辑、修改和测试。 本文将详细讲解控制台命令行API的使用方法,包括常见的API函数、参数、数据类型、输出格式等,并附带两个实例说明。 控制台…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部