在前端开发中,经常需要通过网络请求获取数据。Node.js 提供了 http
模块来进行网络请求,但是使用起来比较麻烦。node-fetch
是一个基于 fetch
标准的模块,可以在 Node.js 环境下方便地进行网络请求。本文介绍如何使用 node-fetch
进行网络请求。
安装
使用 npm 安装 node-fetch
:
npm install node-fetch
基本用法
使用 node-fetch
发送 GET 请求:
const fetch = require('node-fetch'); fetch('https://jsonplaceholder.typicode.com/todos/1') .then(response => response.json()) .then(json => console.log(json)) .catch(error => console.error(error));
上面的代码向 https://jsonplaceholder.typicode.com/todos/1
发送 GET 请求,并将返回的 JSON 字符串转换为 JavaScript 对象打印出来。如果请求失败,则会打印错误信息。
使用 node-fetch
发送 POST 请求:
-- -------------------- ---- ------- ----- ----- - ---------------------- ----- ---- - - ------ ------ ----- ------ ------- - -- --------------------------------------------------- - ------- ------- ----- --------------------- -------- - --------------- ------------------ -- -- -------------- -- ---------------- ---------- -- ------------------ ------------ -- ----------------------
上面的代码向 https://jsonplaceholder.typicode.com/posts
发送 POST 请求,并将请求体设置为 JSON 格式的字符串,同时设置请求头的 Content-Type 为 application/json。
高级用法
node-fetch
提供了丰富的 API,可以满足各种复杂的网络请求需求。下面介绍一些常用的高级用法。
处理响应头
使用 response.headers
可以获取响应头:
-- -------------------- ---- ------- ----- ----- - ---------------------- ----------------------------------------------------- -------------- -- - --- ------ ----- ------ -- ----------------- - -------------------- ----------- - -- ------------ -- ----------------------
上面的代码向 https://jsonplaceholder.typicode.com/todos/1
发送 GET 请求,并打印响应头信息。
处理响应状态码
使用 response.status
可以获取响应状态码:
-- -------------------- ---- ------- ----- ----- - ---------------------- ----------------------------------------------------- -------------- -- - -- ---------------- --- ---- - -------------------- - ---- - -------------------- - -- ------------ -- ----------------------
上面的代码向 https://jsonplaceholder.typicode.com/todos/1
发送 GET 请求,并根据响应状态码判断请求是否成功。
处理响应体
使用 response.text()
、response.json()
、response.buffer()
等方法可以获取响应体:
-- -------------------- ---- ------- ----- ----- - ---------------------- ----------------------------------------------------- -------------- -- ---------------- ---------- -- ------------------ ------------ -- ---------------------- ----------------------------------------------------- -------------- -- ---------------- ---------- -- ------------------ ------------ -- ---------------------- ----------------------------------------------------- -------------- -- ------------------ ------------ -- -------------------- ------------ -- ----------------------
上面的代码分别使用 response.text()
、response.json()
、response.buffer()
获取响应体的文本、JSON 对象和二进制数据。
总结
本文介绍了如何安装和使用 node-fetch
进行网络请求,并介绍了一些常用的高级用法。node-fetch
具有简单易用、功能丰富等特点,可以大大提
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/50637