📅  最后修改于: 2023-12-03 15:29:33.417000             🧑  作者: Mango
Axios 是一个基于 Promise 的 HTTP 库,可以用于浏览器和 Node.js。它是非常广泛使用的 JavaScript HTTP 客户端,可以与任何使 Axios 成为最佳的 HTTP 客户端之一。虽然 Axios 在实现网络请求时已经遵循了标准的 HTTP 协议,但我们有时仍需要向请求中添加自定义的标头,以便于后端服务器做出不同的响应。本文将介绍如何使用 Axios 设置请求标头。
我们可以使用 Axios 发送 AJAX 请求并且通过设置 headers 属性来添加请求头。headers 属性是一个对象,其键值对为请求头的字段名和字段值,例如:
axios.get('http://example.com', {
headers: {
'Authorization': 'Bearer my-token',
'Content-Type': 'application/json'
}
});
上面的例子修改了 GET 请求的请求头,添加了 Authorization 和 Content-Type 属性。具体来说,Authorization 属性的字段值是 'Bearer my-token',表示使用 Bearer Token 的方法进行身份验证;而 Content-Type 属性的字段值是 'application/json',表示请求的内容是 JSON 格式的数据。
如果您需要在所有的 Axios 请求中添加某些自定义的标头,请使用 Axios 的拦截器。拦截器可以在 Axios 发出请求前或响应返回后,对请求或响应进行全局性的修改或增强。这里给出一个添加自定义请求标头的拦截器示例:
axios.interceptors.request.use(function (config) {
config.headers.Authorization = 'Bearer my-token';
config.headers['Content-Type'] = 'application/json';
return config;
}, function (error) {
return Promise.reject(error);
});
在上面的代码中,我们使用了 Axios 的请求拦截器,使用 use 方法对请求进行了处理,将 headers 属性中的 Authorization 和 Content-Type 字段设置为常量值。这样,每次发出的请求都包含了这两个请求头字段。
通过设置 headers
属性,我们可以使用 Axios 添加自定义的请求标头,让后端服务器更好地理解我们请求的意图和需要。如果这样的设置需要在多个 Axios 请求中使用,请使用 Axios 的拦截器函数实现。Axios 拦截器提供了在请求和响应期间修改或增强请求和响应的全局机制,非常适合处理统一的逻辑和配置。