JavaScript中发出HTTP请求最常用的方法


Posted in Javascript onJuly 12, 2018

JavaScript具有很好的模块和方法来发送可用于从服务器端资源发送或接收数据的HTTP请求。在本文中,我们将介绍一些在JavaScript中发出HTTP请求的流行方法。

Ajax

Ajax是发出异步HTTP请求的传统方式。可以使用HTTP POST方法发送数据,并使用HTTP GET方法接收数据。我们来看看发送GET请求。我将使用JSONPlaceholder,这是一个免费的在线REST API,适用于以JSON格式返回随机数据的开发人员。 要在Ajax中进行HTTP调用,您需要初始化一个新XMLHttpRequest()方法,指定URL端点和HTTP方法(在本例中为GET)。最后,我们使用该open()方法将HTTP方法和URL端点绑定在一起,并调用该send()方法来触发请求。 我们使用XMLHTTPRequest.onreadystatechange包含要在readystatechanged事件触发时调用的事件处理程序的属性将HTTP响应记录到控制台。

JavaScript中发出HTTP请求最常用的方法 

如果您查看浏览器控制台,它将返回JSON格式的数据数组。但是我们怎么知道请求是否完成了?换句话说,我们如何使用Ajax处理响应? 该onreadystatechange有两个方法,readyState 和 status允许我们可以检查请求的状态。

JavaScript中发出HTTP请求最常用的方法 

如果readyState等于4,则表示请求已完成。 除了使用JavaScript直接进行Ajax调用之外,还有其他更强大的HTTP调用方法,例如$.AjaxjQuery方法。

jQuery方法 jQuery有很多方法可以轻松处理HTTP请求。要使用这些方法,您需要在项目中包含jQuery库。

$.ajax

jQuery Ajax是进行HTTP调用的最简单方法之一。

JavaScript中发出HTTP请求最常用的方法 

$ .ajax方法需要许多参数,其中一些是必需的,另一些是可选的。它包含两个回调选项success并error处理收到的响应。

$.get方法

$.get方法用于执行GET请求。它需要两个参数:请求地址和回调函数。

JavaScript中发出HTTP请求最常用的方法 

$.post

该$.post方法是将数据发布到服务器的另一种方法。它需要三个参数:请求的url地址您要发送的数据和回调函数。

JavaScript中发出HTTP请求最常用的方法 

$.getJson

该$.getJSON方法仅检索JSON格式的数据。它需要两个参数:url和回调函数。

JavaScript中发出HTTP请求最常用的方法 

jQuery具有所有这些方法来请求或将数据发布到远程服务器。但实际上你可以将所有这些方法合而为一:$.ajax方法,如下例所示:

JavaScript中发出HTTP请求最常用的方法 

Fetch

fetch是一个新的功能强大的Web API,可以让您发出异步请求。事实上,这fetch是制作HTTP请求的最佳和最喜欢的方式之一。它返回一个“Promise”,这是ES6的一大特色。 如果你不熟悉ES6,你可以阅读一下关于ES6的文章。Promise允许我们以更智能的方式处理异步请求。我们来看看fetch技术如何运作。

JavaScript中发出HTTP请求最常用的方法 

该fetch函数需要一个必需参数:endpointURL。它还有其他可选参数,如下例所示:

JavaScript中发出HTTP请求最常用的方法 

如您所见,fetch制作HTTP请求有许多优点。此外,在fetch中还有其他模块和插件,允许我们向服务器端发送和从服务器端接收请求,例如Axios.

Axios

Axios是一个用于发出HTTP请求的开源库,并提供许多强大的功能。我们来看看它是如何工作的。

用法: 首先,您需要包含Axios。有两种方法可以在项目中包含Axios。 首先,你可以使用npm: npm install axios --save

然后你需要导入它 import axios from 'axios'

使用axios发出请求: 使用Axios,您可以使用GET和POST从服务器检索和发布数据。

JavaScript中发出HTTP请求最常用的方法 

axios采用一个必需参数,也可以采用第二个可选参数。这将一些数据作为简单查询。

POST:

JavaScript中发出HTTP请求最常用的方法 

Axios返回“Promise”。如果您熟悉promises,您可能知道promise可以执行多个请求。您可以使用axios执行相同的操作并同时运行多个请求。

Axios支持许多其他方法和选项。你可以官网了解他们

总结

以上所述是小编给大家介绍的JavaScript中发出HTTP请求最常用的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JAVASCRIPT IE 与 FF中兼容问题小结
Feb 18 Javascript
JS 学习笔记 防止发生命名冲突
Jul 30 Javascript
js控制当再次点击按钮时的间隔时间
Jun 03 Javascript
jQuery常用且重要方法汇总
Jul 13 Javascript
JS实现完全语义化的网页选项卡效果代码
Sep 15 Javascript
Angular.js如何从PHP读取后台数据
Mar 24 Javascript
JS实现中文汉字按拼音排序的方法
Oct 09 Javascript
vue+element实现批量删除功能的示例
Feb 28 Javascript
微信小程序textarea层级过高的解决方法
Mar 04 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
Apr 19 Javascript
微信小程序云开发如何使用npm安装依赖
May 18 Javascript
用javascript制作qq注册动态页面
Apr 14 Javascript
vue实现引入本地json的方法分析
Jul 12 #Javascript
jQuery实现checkbox全选功能完整实例
Jul 12 #jQuery
JS实现将二维数组转为json格式字符串操作示例
Jul 12 #Javascript
vue路由组件按需加载的几种方法小结
Jul 12 #Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
Jul 12 #jQuery
使用json-server简单完成CRUD模拟后台数据的方法
Jul 12 #Javascript
教你如何用node连接redis的示例代码
Jul 12 #Javascript
You might like
PHP 多维数组排序(usort,uasort)
2010/06/30 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
扩展javascript的Date方法实现代码(prototype)
2010/11/20 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
js创建对象几种方式的优缺点对比
2016/09/28 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
jQuery简单实现遍历单选框的方法
2017/03/06 Javascript
jquery中done和then的区别(详解)
2017/12/19 jQuery
JS运动改变单物体透明度的方法分析
2018/01/23 Javascript
[01:00:12]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第一场
2018/04/09 DOTA
[01:52]PWL S2开团时刻第四期——DOTA2成语故事
2020/12/03 DOTA
Python3实现生成随机密码的方法
2014/08/23 Python
Django与遗留的数据库整合的方法指南
2015/07/24 Python
Python语法快速入门指南
2015/10/12 Python
Python中enumerate()函数编写更Pythonic的循环
2018/03/06 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
对Python中list的倒序索引和切片实例讲解
2018/11/15 Python
解决Python运行文件出现out of memory框的问题
2018/12/03 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
2020/04/21 Python
实现ECharts双Y轴左右刻度线一致的例子
2020/05/16 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
python代码实现猜拳小游戏
2020/11/30 Python
Html5之自定义属性(data-,dataset)
2019/11/19 HTML / CSS
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
南京软件公司的.net程序员笔试题
2014/08/31 面试题
成教自我鉴定
2013/10/27 职场文书
应用数学自荐书范文
2013/11/24 职场文书
公休请假条
2014/04/11 职场文书
医药公司开票员岗位职责
2015/04/15 职场文书
超市员工辞职信范文
2015/05/12 职场文书