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实现锚点(Anchor)间平滑跳转
Sep 08 Javascript
JavaScript 保存数组到Cookie的代码
Apr 14 Javascript
深入理解Javascript闭包 新手版
Dec 28 Javascript
特殊情况下如何获取span里面的值
May 20 Javascript
JS模式之简单的订阅者和发布者模式完整实例
Jun 30 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
May 12 Javascript
jquery属性,遍历,HTML操作方法详解
Sep 17 Javascript
JS判断指定dom元素是否在屏幕内的方法实例
Jan 23 Javascript
解决vuejs项目里css引用背景图片不能显示的问题
Sep 13 Javascript
VUE v-for循环中每个item节点动态绑定不同函数的实例
Sep 26 Javascript
ES6如何用一句代码实现函数的柯里化
Jan 18 Javascript
Vue3为什么这么快
Sep 23 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中的加密功能
2006/10/09 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
2020/11/10 PHP
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
从URL中提取参数与将对象转换为URL查询参数的实现代码
2012/01/12 Javascript
jquery 延迟执行实例介绍
2013/08/20 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
javascript校验价格合法性实例(必须输入2位小数)
2014/05/05 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
jQuery中DOM树操作之复制元素的方法
2015/01/23 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
2015/08/26 Javascript
jQuery图片左右滚动代码 有左右按钮实例
2016/06/20 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
Vue数据绑定简析小结
2019/05/07 Javascript
Webpack 4如何动态切割JS注入文件名详解
2019/07/09 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
[08:08]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY
2014/06/25 DOTA
Python实现从百度API获取天气的方法
2015/03/11 Python
Python中循环引用(import)失败的解决方法
2018/04/22 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
django修改models重建数据库的操作
2020/03/31 Python
Django 5种类型Session使用方法解析
2020/04/29 Python
python 实现图片修复(可用于去水印)
2020/11/19 Python
用CSS3绘制三角形的简单方法
2015/07/17 HTML / CSS
H5新属性audio音频和video视频的控制详解(推荐)
2016/12/09 HTML / CSS
购买大码女装:Lane Bryant
2016/09/07 全球购物
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
泰国时尚电商:POMELO Fashion
2020/03/11 全球购物
酒吧员工的岗位职责
2013/11/26 职场文书
创建文明学校实施方案
2014/03/11 职场文书
《最佳路径》教学反思
2014/04/13 职场文书
英语分层教学实施方案
2014/06/15 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书