原生JavaScript 与 jQuery 执行Ajax请求
原生JavaScript和jQuery都可以用来执行Ajax请求,以下是它们的基本实现方式的比较:
原生JavaScript实现Ajax请求:
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.example.com/data", true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var response = JSON.parse(xhr.responseText);
// 在这里处理响应数据
}
};
xhr.send();
上述代码中,我们创建了一个XMLHttpRequest对象来执行GET请求。在回调函数onreadystatechange中,我们检查xhr.readyState和xhr.status来确保请求已成功完成,然后我们可以处理响应数据。
fetch('https://api.example.com/data')
.then(response => {
if (!response.ok) {
throw new Error('网络请求失败');
}
return response.json(); // 将响应解析为 JSON
})
.then(data => {
// 在这里处理响应数据
})
.catch(error => {
// 处理错误
console.error('发生错误:', error);
});
上述代码中,我们首先使用 fetch 函数传递目标 URL 来发起一个GET请求。fetch 返回一个 Promise,我们可以使用 .then 处理成功的响应,然后使用 .json() 方法将响应解析为 JSON 数据。如果响应状态码不在 200 到 299 范围内(即请求失败),我们会抛出一个错误。
你还可以使用 fetch 来执行其他类型的请求,如 POST 请求,以及设置请求头和发送数据。以下是一个 POST 请求的示例:
fetch('https://api.example.com/postData', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
key1: 'value1',
key2: 'value2'
})
})
.then(response => {
if (!response.ok) {
throw new Error('网络请求失败');
}
return response.json();
})
.then(data => {
// 在这里处理响应数据
})
.catch(error => {
console.error('发生错误:', error);
});
在这个示例中,我们指定了请求方法为 POST,设置了请求头的 Content-Type 为 application/json,然后将数据作为 JSON 字符串发送到服务器。
fetch API 提供了更灵活和现代的方式来处理网络请求
jQuery实现Ajax请求:
$.ajax({
url: "https://api.example.com/data",
method: "GET",
dataType: "json",
success: function (data) {
// 在这里处理响应数据
},
error: function (xhr, status, error) {
// 处理错误
}
});
jQuery的$.ajax函数使得执行Ajax请求更加简单。您可以指定URL、请求方法、数据类型以及成功和错误处理函数。在success回调函数中,您可以处理响应数据。jQuery还提供了其他一些方便的方法来执行Ajax请求,如$.get和$.post等。
原生JavaScript 与 jQuery 执行Ajax请求的更多相关文章
- jquery中ajax请求后台数据成功后既不执行success也不执行error解决方法
jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Objec ...
- Sping MVC不使用任何注解处理(jQuery)Ajax请求(基于XML配置)
1. Spring Spring框架是一个轻量级的解决方案,是一个潜在的一站式商店,用于构建企业就绪的应用程序.Spring框架是一个Java平台,为开发Java应用程序提供全面的基础架构支持.Spr ...
- 原生 JavaScript 代替 jQuery【转】
目录 用原生JavaScript代替jQuery Query Selector CSS & Style DOM Manipulation Ajax Events Utilities Promi ...
- Struts2处理(jQuery)Ajax请求
1. Ajax Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)时一种创建交互式网页应用的网页开发技术,它并不是一项新的技术,其产生 ...
- Servlet处理(jQuery)Ajax请求
1. jQuery jQuery是一个JavaScript函数库,极大的简化了JavaScript编程,很容易学习.jQuery是目前最流行的开源js框架,并且提供了大量的扩展. 2. Aja ...
- Angular和jQuery的ajax请求的差别
近期项目中使用angular,结果发现后台没法获取參数,所以,略微研究了一下两者在发送ajax时的差别. 注意angular和jquery的ajax请求是不同的. 在jquery中,官方文档解释con ...
- 四种常见的提示弹出框(success,warning,error,loading)原生JavaScript和jQuery分别实现
原文:四种常见的提示弹出框(success,warning,error,loading)原生JavaScript和jQuery分别实现 虽然说现在官方的自带插件已经有很多了,但是有时候往往不能满足我们 ...
- 如何终止JQUERY的$.AJAX请求
最近遇到,如果用户频繁点击ajax请求,有两个问题: 1,如果连续点击了5个ajax请求,前4个其实是无效的,趁早结束节省资源. 2,更严重的问题是:最后一个发送的请求,响应未必是最后一个,有可能造成 ...
- jQuery发送Ajax请求以及出现的问题
普通jQuery的Ajax请求代码如下: $.ajax({ type: 'POST', url: "http://xxx/yyy/zzz/sendVerifyCode", data ...
- jQuery发送ajax请求
利用jquery发送ajax请求的几个模板代码. $.ajax({ async : false, type: 'POST', dataType : "json", url: &qu ...
随机推荐
- Go语言常用标准库——context
文章目录 为什么需要Context 基本示例 全局变量方式 通道方式 官方版的方案 Context初识 Context接口 Background()和TODO() With系列函数 WithCance ...
- CIC滤波器仿真与实验过程及结果记录
整理于2023-10-08 0.0 前言: 前面介绍了使用matlab中的Filter Designer工具箱进行CIC抽取滤波器设计的仿真过程与结果.下面在前面的基础上针对现有的[正点原子ZYNQ] ...
- linux常见命令(四)
用于查看日期和时间的相关命令 cal date hwclock cal:显示日历信息 命令语音:cal [选项] [[[日]月]年] 选项 选项含义 -j 显示出给定月中的每一天是一年总的第几天(从1 ...
- answer answerdev/answer:latest 开源问答平台
freedidi.com/10294.html https://youtu.be/A2GUgvPlTBE?si=jdhqXL1WttLrLgiQ docker依赖 yum install ...
- .NET周刊【10月第1期 2023-10-01】
国内文章 .NET应用如何防止被反编译 https://www.cnblogs.com/Can-daydayup/p/17736700.html 本文主要讲述了如何防止.NET应用被反编译.虽然无法完 ...
- 安装k8s
完成安装k8s集群以后,推荐使用https://github.com/512team/dhorse发布应用. 准备环境 准备两台服务器节点,如果需要安装虚拟机,可以参考<wmware和cento ...
- .NET周刊【10月第2期 2023-10-08】
国内文章 起风了,NCC 云原生项目孵化计划 https://www.cnblogs.com/liuhaoyang/p/ncc-the-wind-rises.html 2016年,我和几位朋友发起了. ...
- 文心一言 VS 讯飞星火 VS chatgpt (129)-- 算法导论11.1 4题
四.用go语言,我们希望在一个非常大的数组上,通过利用直接寻址的方式来实现一个字典.开始时该数组中可能包含一些无用信息,但要对整个数组进行初始化是不太实际的,因为该数组的规模太大.请给出在大数组上实现 ...
- CSS+HTML初学跟踪项目记录笔记【防丢失】(文章发布系统)二【鸽了】
贴上源代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...
- 时间复杂度为 O(n^2) 的排序算法
对于小规模数据,我们可以选用时间复杂度为 O(n2) 的排序算法.因为时间复杂度并不代表实际代码的执行时间,它省去了低阶.系数和常数,仅代表的增长趋势,所以在小规模数据情况下, O(n2) 的排序算法 ...