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 相关文章推荐
js 变量类型转换常用函数与代码[比较全]
Dec 01 Javascript
关于Javascript与iframe的那些事儿
Jul 04 Javascript
客户端js性能优化小技巧整理
Nov 05 Javascript
用js通过url传参把数据从一个页面传到另一个页面
Sep 01 Javascript
JS实现文字放大效果的方法
Mar 03 Javascript
最新最热最实用的15个jQuery插件汇总
Jul 05 Javascript
Jquery Ajax Error 调试错误的技巧
Nov 20 Javascript
javascript日期比较方法实例分析
Jun 17 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
Sep 13 Javascript
jQuery创建及操作xml格式数据示例
May 26 jQuery
详解vue-property-decorator使用手册
Jul 29 Javascript
Vue绑定用户接口实现代码示例
Nov 04 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实现12306余票查询、价格查询示例
2014/04/17 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
Firefox window.close()的使用注意事项
2009/04/11 Javascript
用js解决数字不能换行问题
2010/08/10 Javascript
javascript中最常用的继承模式 组合继承
2010/08/12 Javascript
jquery蒙版控件实现代码
2010/12/08 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
解析javascript系统错误:-1072896658的解决办法
2013/07/08 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
javascript判断复选框是否选中的方法
2015/10/16 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
浅谈javascript中的 “ && ” 和 “ || ”
2017/02/02 Javascript
使用JS 插件qrcode.js生成二维码功能
2017/02/20 Javascript
js实现随机数字字母验证码
2017/06/19 Javascript
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
vue keep-alive实现多组件嵌套中个别组件存活不销毁的操作
2020/10/30 Javascript
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
Python实现朴素贝叶斯分类器的方法详解
2018/07/04 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
python django生成迁移文件的实例
2019/08/31 Python
Pytorch中的variable, tensor与numpy相互转化的方法
2019/10/10 Python
Django中提示消息messages的设置方式
2019/11/15 Python
Python创建数字列表的示例
2019/11/28 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
Python中BeautifulSoup通过查找Id获取元素信息
2020/12/07 Python
西班牙鞋子和箱包在线销售网站:zapatos.es
2020/02/17 全球购物
优秀部门获奖感言
2014/02/14 职场文书
青春励志演讲稿
2014/04/29 职场文书
学校工会工作总结2015
2015/05/19 职场文书
预备党员表决心的话
2015/09/22 职场文书