首页 > 其他分享 >原生js发起网络请求

原生js发起网络请求

时间:2024-12-27 16:55:00浏览次数:5  
标签:原生 jQuery Axios 请求 url js error data

网页常见的集中网络请求

  • XMLHttpRequest:
    • 是浏览器原生的网络请求对象,通过创建实例、设置请求方法与 URL、监听状态变化等多个步骤来发起和处理请求。例如先 new XMLHttpRequest() 创建实例,再用 open 方法设置请求细节,最后 send 发送请求,并通过 onreadystatechange 事件监听状态变化获取响应内容。
    • 特点是兼容性好,几乎所有浏览器都支持,但语法相对繁琐复杂,异步操作易出现回调地狱问题。
  • Fetch API:
    • 基于 Promise 的现代网络请求接口,使用 fetch 函数发起请求,像 fetch('url').then(response => response.json()).then(data => console.log(data)) 简单几步就能完成请求及处理响应数据(以解析 JSON 为例)。
    • 语法简洁,便于组织异步代码,能有效避免回调地狱,对 JSON 等数据格式有原生支持,但在老版本浏览器上可能需兼容处理,且对 HTTP 错误状态不会自动抛异常,需手动判断。
  • Axios:
    • 基于 Promise 的 HTTP 客户端库,可用于浏览器和 Node.js 环境,调用形式清晰(如 axios.get('url').then(response => console.log(response.data)).catch(error => console.log(error)) ),可方便配置请求头、设置超时等,还有请求和响应拦截器。
    • 功能强大,使用便捷,能轻松应对复杂请求场景及业务逻辑,不过需引入外部库文件,会增加项目资源体积。
  • jQuery 的 $.ajax ():
    • 依托 jQuery 库,将请求操作整合在参数配置里(如配置 urltypedatasuccesserror 等参数)来发起请求,像 $.ajax({...}) 形式,在请求成功或失败时有对应回调函数处理结果。
    • 对于熟悉 jQuery 的开发者使用门槛低,与 jQuery 其他功能结合紧密,但随着轻量化开发趋势,其使用范围在缩小,且引入 jQuery 会有一定资源开销。

结合以上各个网络请求架构的特点综合考虑:优先选择 Axios。后续中大型项目主要生态为Vue, Vue 项目常用 Axios 配合使用,另外Axios代码简洁易维护,功能扩展性强,同时性能较高。

示例代码如下:以下代码主要逻辑为点击按钮,发起Axios请求,通过访问接口将返回得到的Json数据显示到网页下。

 

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Button Click Example</title>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <div id="postList"></div>
</head>
<body>
    <button id="btn2">使用Axios发送Get请求</button>
    <script>
    document.querySelector("#btn2").addEventListener("click",function (params) {
            var url = "https://jsonplaceholder.typicode.com/posts";
            var paramsdata = {};
            axios({
                url:url,
                method:'GET',
                params:paramsdata
            }).then(function (res) {
                const postListElement = document.getElementById('postList');
                res.data.forEach(post => {
                const postDiv = document.createElement('div');
                postDiv.innerHTML = `
                    <h3>${post.title}</h3>
                    <p>${post.body}</p>
                    <hr>
                `;
                postListElement.appendChild(postDiv);
                });
            }).catch(function (error) {
                console.log(error);
            });
        });
    </script>
</body>
</html>

 

标签:原生,jQuery,Axios,请求,url,js,error,data
From: https://www.cnblogs.com/leesymbol/p/18636033

相关文章

  • node.js毕设 ICU重症管理系统 论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于ICU重症管理系统的研究,现有研究多集中于ICU患者的治疗技术等方面,专门针对ICU重症管理系统整体架构与功能整合的研究较少。在国内外,医疗信息化不断发......
  • node.js毕设 JavaWeb的美食街摊位管理系统 论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于美食街摊位管理的研究,现有研究多集中在传统管理模式的局部优化方面,如单独对摊位分配或者租赁合同管理的优化。专门针对将摊位管理员、商家、摊位区......
  • EasyPlayer.js视频流媒体播放器RTSP windows播放器SDK API的接口说明
    在数字化时代,流媒体播放器已成为信息传播和娱乐消遣的主流载体。随着技术的进步,流媒体播放器的核心技术和发展趋势不断演变,影响着整个行业的发展方向。那么在实际运用中,关于EasyPlayerRTSPwindows播放器SDKAPI接口要注意什么?背景介绍EasyPlayer实现对RTSP直播流进行实时采集......
  • basicContext.js - 强大的纯Js上下文菜单插件
    basicContext.js是一款功能强大的纯Js上下文菜单插件。该js上下文菜单插件可以制作左键菜单,右键菜单,可以自定义菜单的位置。它还可以和jquery结合使用,非常方便。 在线预览  下载 使用方法在页面中引入样式文件basicContext.min.css,主题样式文件default.min.css和js文件b......
  • 基于Sentinel的服务保护方案的三种方式(请求限流、线程隔离、服务熔断)超详细讲解
    目录1、三种方式介绍1.1请求限流1.2线程隔离方案1.3服务熔断2、基于sentinel实现2.1启动sentinel2.2基于springboot整合sentinel2.2.1请求限流2.2.2请求隔离2.2.2.1 OpenFeign整合Sentinel2.2.3服务熔断2.2.3.1编写降级代码2.2.3.2服务熔断1、三种方......
  • EasyPlayer.js网页直播播放器如何实现Windows播放器实时流即时回放功能
    H5流媒体播放器,作为基于HTML5技术的创新产品,近年来在音频和视频播放领域取得了显著的发展。它不仅为用户提供了流畅、稳定的播放体验,还通过丰富的交互功能增强了用户的参与感。那么在实际应用中,如何实现Windows播放器实时流进行本地缓冲区即时回放功能呢?1、背景说明参照国内视......
  • # thingjs 基础案例整理
    thingjs基础案例整理ThingJS是一套面向物联网应用的3D可视化PaaS开发和运营平台,它以“ThingJS云视PaaS服务”形式面向广大物联网企业提供全生命周期在线3D可视化服务。相关资料官方网址:https://www.thingjs.com/;在线开发:https://www.thingjs.com/guide/?m=sample;官方文档......
  • PowerShell 提供了多种强大且灵活的方式来进行外发数据传输。无论是通过 HTTP 请求、F
    在WindowsPowerShell中,"数据传输外发"(或类似的表述,可能是“外发数据传输”)并没有明确的、标准的技术术语。不过,这可能指的是数据的外发传输(outbounddatatransfer),即从本地计算机传送到外部服务器或其他系统的过程。在PowerShell中,数据传输通常通过不同的网络通信协议来进行......
  • 【2】UDS诊断的请求和响应
    1.常见的UDS服务UDS共包含6大类,26个服务。其中常用的有:诊断和通信管理中的10(诊断会话控制)、11(ECU复位)、27(安全访问)、3E(待机握手),数据传输功能中的22(通过ID读数据)、2E(通过ID写数据),存储数据传输功能的14(清除诊断信息)、19(读取故障码信息),上传下载功能用于刷写ECU数据等:34(请求下载)、3......
  • java 使用HttpClient发送@RequestBody类型的请求(解决中文乱码)
    如何使用java发送参数以@RequestBody类型接收到的请求。如下使用java的HttpClient写一个样例依赖<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpcore</artifactId><version>4.4.10</version></dependency>......