原生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请求的更多相关文章

  1. jquery中ajax请求后台数据成功后既不执行success也不执行error解决方法

    jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Objec ...

  2. Sping MVC不使用任何注解处理(jQuery)Ajax请求(基于XML配置)

    1. Spring Spring框架是一个轻量级的解决方案,是一个潜在的一站式商店,用于构建企业就绪的应用程序.Spring框架是一个Java平台,为开发Java应用程序提供全面的基础架构支持.Spr ...

  3. 原生 JavaScript 代替 jQuery【转】

    目录 用原生JavaScript代替jQuery Query Selector CSS & Style DOM Manipulation Ajax Events Utilities Promi ...

  4. Struts2处理(jQuery)Ajax请求

    1. Ajax     Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)时一种创建交互式网页应用的网页开发技术,它并不是一项新的技术,其产生 ...

  5. Servlet处理(jQuery)Ajax请求

    1. jQuery     jQuery是一个JavaScript函数库,极大的简化了JavaScript编程,很容易学习.jQuery是目前最流行的开源js框架,并且提供了大量的扩展. 2. Aja ...

  6. Angular和jQuery的ajax请求的差别

    近期项目中使用angular,结果发现后台没法获取參数,所以,略微研究了一下两者在发送ajax时的差别. 注意angular和jquery的ajax请求是不同的. 在jquery中,官方文档解释con ...

  7. 四种常见的提示弹出框(success,warning,error,loading)原生JavaScript和jQuery分别实现

    原文:四种常见的提示弹出框(success,warning,error,loading)原生JavaScript和jQuery分别实现 虽然说现在官方的自带插件已经有很多了,但是有时候往往不能满足我们 ...

  8. 如何终止JQUERY的$.AJAX请求

    最近遇到,如果用户频繁点击ajax请求,有两个问题: 1,如果连续点击了5个ajax请求,前4个其实是无效的,趁早结束节省资源. 2,更严重的问题是:最后一个发送的请求,响应未必是最后一个,有可能造成 ...

  9. jQuery发送Ajax请求以及出现的问题

    普通jQuery的Ajax请求代码如下: $.ajax({ type: 'POST', url: "http://xxx/yyy/zzz/sendVerifyCode", data ...

  10. jQuery发送ajax请求

    利用jquery发送ajax请求的几个模板代码. $.ajax({ async : false, type: 'POST', dataType : "json", url: &qu ...

随机推荐

  1. 使用SpringBoot开发一个POST接口

    SpringBoot项目的分层 SpringBoot框架项目一般分为五层: View层:向用户展示页面 Controller层:前后端交互层,接收前端请求,调用Service层中的方法,接收Servi ...

  2. u-boot启动流程

    U-Boot(Universal Bootloader)是一个通用的开源引导加载程序,通常用于嵌入式系统中,负责引导操作系统或加载 Linux 内核等任务.U-Boot的启动流程可以概括为以下几个关键 ...

  3. Linux 下 C语言 open() 和 fopen() 区别

    Linux 下 C语言 open() 和 fopen() 区别   fopen() #include <stdio.h> FILE *fopen(const char *path, con ...

  4. 秋招还没Offer怎么办?

    如果你是双非院线.没有实习经历.没有出众的技术(算法没刷一千道,也没做过 Spring Cloud 项目).现在还没有面试(或只有少量的面试).并且目前还没有 Offer,那么恭喜你,你和目前大部分同 ...

  5. Vue项目——尚品会

    1: 项目的初始化 环境要求:node + webpack + 淘宝镜像 初始化项目: vue create 项目名称 目录/文件分析: - node_modules文件夹:放置项目依赖的地方 - p ...

  6. .NET周刊【10月第1期 2023-10-01】

    国内文章 .NET应用如何防止被反编译 https://www.cnblogs.com/Can-daydayup/p/17736700.html 本文主要讲述了如何防止.NET应用被反编译.虽然无法完 ...

  7. Python 提取PDF文本和图片

    从PDF中提取内容能帮助我们获取文件中的信息,以便进行进一步的分析和处理.此外,在遇到类似项目时,提取出来的文本或图片也能再次利用.要在Python中通过代码提取PDF文件中的文本和图片,可以使用 S ...

  8. 【matplotlib 实战】--饼图

    饼图,或称饼状图,是一个划分为几个扇形的圆形统计图表.在饼图中,每个扇形的弧长(以及圆心角和面积)大小,表示该种类占总体的比例,且这些扇形合在一起刚好是一个完全的圆形. 饼图最显著的功能在于表现&qu ...

  9. AI图形算法的应用之一:仪表识别

    目前AI智能算法如火如荼,各大型厂商对此趋之若鹜般加大开发力度,比如大华.海康这些视频处理类,以及百度.腾讯这些IT软件厂商,因为业务开展需要,我也把研发方向转向于此,小有成绩,在此展示一下. 最近研 ...

  10. Net 高级调试之六:对象检查之值类型、应用类型、数组和异常的转储

    一.简介 今天是<Net 高级调试>的第六篇文章.记得我刚接触 Net 框架的时候,还是挺有信心的,对所谓的值类型和引用类型也能说出自己的见解,毕竟,自己一直在努力.当然这些见解都是书本上 ...