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现实多行信息
Aug 26 Javascript
jQuery 标题的自动翻转实现代码
Oct 14 Javascript
JQuery AJAX提交中文乱码的解决方案
Jul 02 Javascript
xml文档转换工具,附图表例子(hta)
Nov 17 Javascript
javascript 45种缓动效果 非常酷
Jun 28 Javascript
jquery索引在使用中的一些困惑
Oct 24 Javascript
javascript内置对象arguments详解
Mar 16 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
Jun 08 Javascript
一篇文章掌握RequireJS常用知识
Jan 26 Javascript
JavaScript组成、引入、输出、运算符基础知识讲解
Dec 08 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
Jan 23 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
Jan 22 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数字字符串左侧补0、字符串填充和自动补齐的几种方法
2014/05/10 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
解决laravel中日志权限莫名变成了root的问题
2019/10/17 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
用jquery实现学校的校历(asp.net+jquery ui 1.72)
2010/01/01 Javascript
javascript正则表达式总结
2016/02/29 Javascript
第四章之BootStrap表单与图片
2016/04/25 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
jQuery过滤选择器经典应用
2016/08/18 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
微信小程序 wx.uploadFile无法上传解决办法
2016/12/14 Javascript
jQuery remove()过滤被删除的元素(推荐)
2017/07/18 jQuery
angularjs实现猜大小功能
2017/10/23 Javascript
360提示[高危]使用存在漏洞的JQuery版本的解决方法
2017/10/27 jQuery
Bootstrap Table列宽拖动的方法
2018/08/15 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
在vue中利用v-html按分号将文本换行的例子
2019/11/14 Javascript
Websocket 向指定用户发消息的方法
2020/01/09 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
2020/08/28 Javascript
微信小程序选择图片控件
2021/01/19 Javascript
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
Django 缓存配置Redis使用详解
2019/07/23 Python
Python 根据日志级别打印不同颜色的日志的方法示例
2019/08/08 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
《兰亭集序》教学反思
2014/02/11 职场文书
作风建设年活动实施方案
2014/10/24 职场文书
工作犯错保证书
2015/05/11 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
导游词之千岛湖
2019/09/23 职场文书