从 Axios 请求 POST 时禁止请求

Forbidden Request while requesting POST from Axios

我在使用 axios 发送 POST 请求时收到了禁止请求。

这是我的 axios 函数:

const headers = {
    'Authorization': `bearer ${JSON.parse(localStorage.getItem('TOKEN'))}`,
    'Content-Type': 'application/json'
}

const getByRelationCode = (data) => {
    const response = Client.post(`${TRACKING_API}/getByRelationCode`, data, {
        headers
    })

    return response
}

这是调用函数

const getDocument = (relationCode) => {
    await Service.getByRelationCode({ relationCode })
        .then((res) => {console.log(res))
        .catch(err => console.log(err))
}

当我使用邮递员访问端点时,端点返回了响应。但是当我使用 Axios 调用它时,它 returns 是一个被禁止的请求。我的代码中是否缺少?

这样试试

const config = {
    headers: { 
        'Authorization': `bearer ${localStorage.getItem('TOKEN')}`,
        'Content-Type': 'application/json' }
    }; 

const getByRelationCode = (data) => {
    const response = Client.post(`${TRACKING_API}/getByRelationCode`, data, config)
    return response;
}

我认为这是因为您在代码中拼写 Bearer 错误,服务器收到您的请求但无法从中提取令牌。

试试Bearer的正确拼写。

const headers = {
    'Authorization': `Bearer ${JSON.parse(localStorage.getItem('TOKEN'))}`,
    'Content-Type': 'application/json'
}

您的 header.

中有漏拼
const headers = {
    'Authorization': `Bearer ${JSON.parse(localStorage.getItem('TOKEN'))}`,
    'Content-Type': 'application/json'
}

但是在某些框架中我们可以自定义它。如果您为自己定制了它,那么您可以将其命名为 bearer。虽然这样命名是不正确的。