乐闻世界logo
搜索文章和话题

Axios 如何设置请求 header?

4 个月前提问
3 个月前修改
浏览次数53

1个答案

1

当您在使用 Axios 进行 HTTP 请求时,您可能需要设置自定义的请求头(headers)。在 Axios 中,设置请求头可以在全局或者是单个请求中完成。以下是两种最常用的方法。

Axios 设置请求头 - 单个请求

对于单个请求,您可以直接在请求的配置对象中添加 headers 属性来指定所需的请求头。这里是一个简单的例子,展示了如何在 GET 请求中添加自定义请求头:

javascript
axios.get('/user', { headers: { 'Authorization': 'Bearer YOUR_TOKEN', 'Content-Type': 'application/json' } }) .then(response => { console.log(response.data); }) .catch(error => { console.log(error); });

在这个例子中,我们发送了一个带有自定义 AuthorizationContent-Type 头的 GET 请求。当然,您可以根据需要设置任何其他头。

Axios 设置请求头 - 全局默认值

如果您想要为所有的请求设置通用的头信息,那么可以使用 Axios 的全局默认值。这可以通过修改 Axios 的 defaults.headers 属性来实现:

javascript
axios.defaults.headers.common['Authorization'] = 'Bearer YOUR_TOKEN'; axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

这段代码设置了所有请求的 Authorization 头和 POST 请求的 Content-Type 头。这意味着每次通过 Axios 发送请求时,这些头信息将自动包含在内,除非您在具体请求中覆盖了它们。

示例:发送 POST 请求并设置请求头

假设您需要发送一个 POST 请求,并且要在请求中包含一些特定的头信息,比如 Content-Typeapplication/json,并且需要传递一个身份验证令牌。下面是如何操作的例子:

javascript
axios.post('/login', { username: 'user', password: 'pass' }, { headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_AUTH_TOKEN' } }) .then(response => { console.log('Authenticated', response); }) .catch(error => { console.log('Error', error); });

在这个例子中,我们向 /login 路径发送了一个 POST 请求,同时在请求体中包含了用户名和密码。此外,我们还设置了请求头,其中包括 Content-TypeAuthorization

这些方法都可以根据您的需要来设置 Axios 请求头,无论是针对单个请求还是全局配置。当使用 Axios 与后端服务进行交互时,正确设置请求头是非常重要的,因为它们可以包含对服务器很重要的信息,比如认证凭证、指示请求或响应的格式等。

2024年6月29日 12:07 回复

你的答案