小工具知识网

当前位置: 首页 > 行业知识 > 前端发起网络请求的几种常见方式(XMLHttpRequest、FetchApi、jQueryAjax、Axios)

行业知识

前端发起网络请求的几种常见方式(XMLHttpRequest、FetchApi、jQueryAjax、Axios)

2026-11-16 04:46:48 来源:互联网转载

摘要

前端发起网络请求的几种常见方式包括:

XMLHttpRequest (XHR): 这是最传统和最常见的方式之一。它允许客户端与服务器进行异步通信。XHR API 提供了一个在后台发送 HTTP 请求和接收响应的机制,使得页面能够在不刷新的情况下更新部分内容。

Fetch API: Fetch API 是一种新的 Web API,提供了一种更强大、更灵活的方式来发起网络请求。它使用 Promise对象,简化了对网络请求的处理,并且提供了更友好的 API。

jQuery Ajax: jQuery 是一个流行的 JavaScript 库,其中包含了简化 Ajax 调用的方法。通过 jQuery 的 Ajax 方法,可以方便地发送各种类型的 HTTP 请求,并处理响应。

Axios: Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js 环境。它提供了更简单的 API,并支持在浏览器中使用XMLHttpRequest 或在 Node.js 中使用 http 模块。在一些大型框架中会被使用,例如Vue.js。

示例

            前端请求服务器的几种方式                    h2 {            text-align: center;        }        #app {            width: 500px;            margin: 30px auto;        }        #ret {            width: 500px;            height: 100px;            background: #272822;            color: #fff;            padding: 10px;            font-size: 14px;        }        button {            padding: 10px 15px;            background: #39f;            border: none;            color: #fff;            cursor: pointer;        }            

前端请求服务器的几种方式

XMLHttpRequest FetchApi jQueryAjax Axios // XMLHttpRequest function XHR() { document.querySelector('#ret').innerHTML = 'XMLHttpRequest请求中...'; // 创建 XMLHttpRequest 对象 var xhr = new XMLHttpRequest(); // 指定请求的方法和 URL xhr.open('GET', './getData.php?type=XMLHttpRequest', true); // true 表示异步请求 // 注册事件处理程序,以便在请求的不同阶段获取相应的响应 xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE) { // 请求完成 if (xhr.status === 200) { // 请求成功 console.log(JSON.parse(xhr.responseText)); // 输出响应数据 document.querySelector('#ret').innerHTML = xhr.responseText; } else { console.error('请求失败: ' + xhr.status); // 输出错误信息 document.querySelector('#ret').innerHTML = '请求失败'; } } }; // 发送请求 xhr.send(); } // FetchApi function FetchApi() { document.querySelector('#ret').innerHTML = 'FetchApi请求中...'; // 使用 fetch() 函数创建一个请求对象 fetch('./getData.php?type=FetchApi') .then(function(response) { // 检查响应是否成功 if (!response.ok) { throw new Error('请求失败: ' + response.status); } // 解析响应数据为 JSON 格式并返回 return response.json(); }) .then(function(data) { // 处理响应数据 console.log(data); document.querySelector('#ret').innerHTML = JSON.stringify(data); }) .catch(function(error) { // 处理错误 console.error('发生错误: ', error); document.querySelector('#ret').innerHTML = JSON.stringify(error); }); } // jQuery Ajax function jQueryAjax() { $.ajax({ url: './getData.php?type=jQueryAjax', method: 'GET', dataType: 'json', // 响应数据类型 beforeSend: function(xhr) { // 在发送请求之前执行的操作,比如设置请求头 $('#ret').html('jQueryAjax请求中...') }, success: function(response) { // 输出响应数据 console.log(response); $('#ret').html(JSON.stringify(response)) }, error: function(xhr, status, error) { // 输出错误信息 console.error('请求失败: ' + status); $('#ret').html('请求失败') } }); } // Axios function Axios() { document.querySelector('#ret').innerHTML = 'Axios请求中...'; axios.get('./getData.php?type=Axios') .then(function(response) { // 输出响应数据 console.log(response.data); document.querySelector('#ret').innerHTML = JSON.stringify(response.data); }) .catch(function(error) { // 输出错误信息 console.error('请求失败:', error); document.querySelector('#ret').innerHTML = JSON.stringify(error); }); }

getData.php

 

演示

https://demo.likeyunba.com/web_http/

作者

TANKING

上一篇:怎么域名解析服务器?

下一篇:无法定位服务器怎么解决?