首页 > 解决方案 > Axios 标头作为有效负载发送

问题描述

我正在使用 axios 发送发布请求,这是我的代码:

const getHeaders = (token) => {
    const headers = {
        "content-type": "application/json",
    }

    if (token !== undefined) headers.Authorization = `Bearer ${token}`;

    return headers;
}

const post = async ({ url, body = {}, token }) => {
    const requestObject = {
        headers: getHeaders(token),
        ...body
    }

    console.log(requestObject);

    return await axios.post(url, requestObject);
}

这在没有令牌(例如登录请求)时有效,它可以发送它。但是,对于下一个请求,我传递了一个令牌来请求用户详细信息(例如),但是当我查看 Chrome 网络选项卡时,我看到了这个:

在此处输入图像描述

因此,标头作为有效负载发送,但是在请求标头中,“授权:承载...”不存在。我究竟做错了什么?

标签: javascriptaxios

解决方案


如果要发送选项,则需要第三个参数....

const post = ({ url, body = {}, token }) => {
    const options = {
        headers: getHeaders(token)
    }
    return axios.post(url,body, options);
}

在这里也async/ await没有意义


推荐阅读