四种在 JavaScript 中进行 API 调用的方法

在 JavaScript 中,有多种调用 API 的方法,以下是一些常用的方法和技巧:

1. XMLHttpRequest

这是 JavaScript 中的一个内置对象,允许发出异步 HTTP 请求。这是在 JavaScript 中进行 API 调用的传统方式。但是,它有一个复杂的 API,并且经常被更现代的方法所取代。

var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://jsonplaceholder.typicode.com/posts', true);
xhr.onreadystatechange = function() {
 if (xhr.readyState === 4 && xhr.status === 200) {
 var response = JSON.parse(xhr.responseText);
 // Process the response data here
 }
};
xhr.send();

默认情况下,我们会收到字符串格式的响应。我们需要将其解析为 JSON。

通过引入 fetch,XMLHttpRequest 在 ES 6 中被弃用。但是当您需要使用旧浏览器并且不想使用 polyfill 时,XMLHttpRequest 仍然很有用。

2. Fetch API

这是一个更新更强大的 API,用于进行 API 调用。它提供了一种更简单、更灵活的方式来处理请求和响应。

fetch('https://jsonplaceholder.typicode.com/posts')
 .then(function(response) {
 if (response.ok) {
 return response.json();
 }
 throw new Error('Network response was not ok.');
 })
 .then(function(data) {
 // Process the response data here
 })
 .catch(function(error) {
 // Handle errors here
 });

fetch API 非常强大,我们可以使用浏览器获取 API 轻松发送 AJAX 请求。

3. Axios

Axios 是一个流行的第三方库,用于在 JavaScript 中发出 HTTP 请求。它同时支持浏览器和 Node.js 环境,并提供简单而优雅的 API。

axios的安装方法。

npm install axios

包含 Axios 的最简单方法是在 HTML 文件中使用外部 CDN。

Axios 具有以下优点:

  • Axios 执行自动转换并以 JSON 格式返回数据。
  • 更好的处理错误。
  • Axios 支持多种浏览器。
axios.get('https://jsonplaceholder.typicode.com/posts')
 .then(function(response) {
 // Process the response data here
 })
 .catch(function(error) {
 // Handle errors here
 });

4. jQuery AJAX

如果您使用的是 jQuery 库,则可以使用其 AJAX 方法进行 API 调用。它简化了流程并提供了其他功能,例如 JSONP 支持。

JQuery 有很多方法来处理异步 HTTP 请求。为了使用 jQuery,我们需要包含 jQuery 的源文件。$.ajax() 方法用于发出 HTTP 请求。

查询内容分发网络:




    
    
    
    Document
    


    

$.ajax 方法有很多参数,一些是必需的,另一些是可选的。它包含两个回调函数 success 和 error 来处理收到的响应。

结论 

这些是在 JavaScript 中进行 API 调用的一些常见方法。每种方法都有其优点,在具体工作中,请选择合适的方法进行使用。

大多数实时应用程序使用 Axios 来发出 HTTP 请求。Axios 非常易于使用,是一个用于发出 HTTP 请求的开源库。这些是发出 HTTP 请求的最流行的方式。

文章名称:四种在 JavaScript 中进行 API 调用的方法
转载来于:http://www.shufengxianlan.com/qtweb/news15/349215.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联