在前端开发中,我们常常需要与 API 接口交互获取数据,Node.js 程序员经常使用 request 模块发送 HTTP 请求,但对于前端程序员来说这并不是最方便的方式,因为它需要使用 Node.js 运行环境。npm 包 node-rest-client 则可以实现前端程序员在浏览器中使用类似 jQuery.ajax 的方式发送 HTTP 请求。本文将为大家介绍如何使用 node-rest-client 包。
安装
使用 npm 安装:
npm install node-rest-client --save
基本用法
Get
使用 GET 方法发送请求:
var Client = require('node-rest-client').Client; var client = new Client(); // 设置 GET 请求 client.get('http://example.com/api/data', function (data, response) { console.log(data); });
此时 node-rest-client 可以自动处理响应的类型,返回的数据将自动转换为 JSON 或其它类型。
Post
使用 POST 方法发送请求:
-- -------------------- ---- ------- --- ------ - ----------------------------------- --- ------ - --- --------- -- -- ---- -- --- ---- - - ----- - ----- ------ ------ ----- -- -------- - --------------- ------------------ - -- ------------------------------------------ ----- -------- ------ --------- - ------------------ ---
其他HTTP 方法
同样可以使用其它 HTTP 方法如 PUT、DELETE、PATCH、OPTIONS 发送请求:
-- -------------------- ---- ------- --- ------ - ----------------------------------- --- ------ - --- --------- -- -- --- -- --- ---- - - ----- - --- -- ----- ----- -- -------- - --------------- ------------------ - -- ----------------------------------------- ----- -------- ------ --------- - ------------------ --- -- -- ------ -- --- ---- - - -------- - --------- ------------------ - -- -------------------------------------------- ----- -------- ------ --------- - ------------------ --- -- -- ----- -- --- ---- - - ----- - --- -- ----- ----- -- -------- - --------------- ------------------ - -- ------------------------------------------- ----- -------- ------ --------- - ------------------ --- -- -- ------- -- --- ---- - - -------- - --------- ------------------ - -- --------------------------------------------- ----- -------- ------ --------- - ------------------ ---
Request参数
在发送请求的时候,可以使用 args 对象设置请求参数,支持以下参数:
data
:要发送的数据。headers
:请求头。responseType
:响应数据类型(默认为 auto)。parameters
:查询参数。path
:路径变量。auth
:身份验证信息。timeout
:发送请求的超时时间。proxy
:代理信息。
响应处理和错误处理
-- -------------------- ---- ------- --- ------ - ----------------------------------- --- ------ - --- --------- -------------------------------------- ------------------------------ ------- ------------------------------------- ------ --------- - -------------------- - --------------------- ------------------ - ---------------------------------- -- --- ------ --------- ---------- ---------- ------------------- - ------ ---
在错误处理中,我们需要处理错误码和错误信息。node-rest-client 中的错误码如下:
错误码 | 说明 |
---|---|
404 |
要访问的资源不存在。 |
500 |
服务端发生错误。 |
ECONNREFUSED |
服务器连接被拒绝。 |
ETIMEDOUT |
连接超时。 |
ENOTFOUND |
域名无效。 |
ECONNRESET |
连接被重置。 |
ENETUNREACH |
网络不可达。 |
EHOSTUNREACH |
目标主机不可达。 |
EPIPE |
连接中断。 |
ENOTSOCK |
不是有效的套接字。 |
EAI_AGAIN |
名字解析出现临时错误。 |
ECONNABORTED |
连接被拒绝。 |
-- -------------------- ---- ------- --- ------ - ----------------------------------- --- ------ - --- --------- -------------------------------------- ------------------------------ ------- ------------------------------------- ------ --------- - -------------------- - --------------------- ------------------ - ---------------------------------- -- -------------------- --- ---- - ------------------- - ------ - ---- - ------------------ - --------------------- ------------------- - ---------------------- - -------------- -------- ----- - --------------------- - ----- ---
案例
-- -------------------- ---- ------- --- ------ - ----------------------------------- --- ------ - --- --------- -- ------ --- ---- - - ----------- - --- ------- ------ ------------------ -- -------- - --------------- ----------------------------------- - -- ------------------------------------------ ----- -------- ------ --------- - ------------------ -------------- -------- ----- - ----------------------- - ----- --- -- ------ --- ---- - - ----- - --------- ------- --------- ------ -- -------- - --------------- ----------------------------------- -- ------------- ------ -- ------------------------------------------- ----- -------- ------ --------- - -- -------------------- --- ---- - -------------------- -------------------------------------------- - ---- - ------------------ - -------------- -------- ----- - ------------------- - ----- ---
小结
node-rest-client 使前端程序员能够方便地发送 HTTP 请求。本文介绍了 node-rest-client 的基本用法、其它 HTTP 方法、请求参数、响应处理和错误处理。自己尝试写一个简单的案例,深入了解 node-rest-client 的更多用法。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66072