axios post 传参,headers传参

使用 Axios 发送 POST 请求时,可以通过第二个参数传递请求体数据(即请求参数),通过第三个参数传递请求头数据(即请求头参数)。

以下是一个示例代码,用于发送一个 POST 请求,同时传递请求参数和请求头参数:

const axios = require('axios');

const data = {
  name: 'John Doe',
  age: 30
};

const headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer token'
};

axios.post('https://example.com/api', data, { headers })
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.error(error);
  });

在上面的示例代码中,data 对象表示请求参数,headers 对象表示请求头参数。Axios 的 post 方法的第三个参数就是一个配置对象,可以传递请求头参数。

在请求头参数中,Content-Type 表示请求体的数据类型,Authorization 表示授权信息,可以根据实际情况修改。另外,在这个例子中,请求体的数据格式是 JSON,因此需要将 Content-Type 设置为 application/json。如果请求体的数据格式是 application/x-www-form-urlencoded,则需要将 Content-Type 设置为 application/x-www-form-urlencoded,并将请求体的数据格式化为 URL 编码的形式。

注意,当使用 application/x-www-form-urlencoded 格式时,可以使用 Node.js 内置的 querystring 模块来格式化请求体的数据。以下是一个示例代码:

const axios = require('axios');
const querystring = require('querystring');

const data = {
  name: 'John Doe',
  age: 30
};

const headers = {
  'Content-Type': 'application/x-www-form-urlencoded',
  'Authorization': 'Bearer token'
};

axios.post('https://example.com/api', querystring.stringify(data), { headers })
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.error(error);
  });

在上面的示例代码中,querystring.stringify() 方法用于将 data 对象格式化为 URL 编码的形式,然后将它作为请求体的数据。

posted @ 2023-02-16 17:42  盘思动  阅读(5418)  评论(0编辑  收藏  举报