reactjs 我的请求在Insommy中可以工作,但在我的React应用中不能,在JavaScript中,Insommy发送标头令牌的方式是什么?

rryofs0p  于 2023-02-12  发布在  React
关注(0)|答案(1)|浏览(97)

我正在一个React应用程序中构建一些发布请求。我的快速后端工作正常,因为当我在失眠症中发送请求时,我从服务器收到了“成功”的响应。然而,我试图在我的React应用程序中构建按钮来发送相同的请求,但我无法让请求正常工作。
我想这是因为我的请求头没有用我的令牌正确构造。谁能给我一个例子,说明失眠症是如何发送这些头的,但用JavaScript写的?
这是我编写的用于发送这些请求的钩子:

import axios from "axios";

const useApi = () => {

  const BASE_URL = process.env.REACT_APP_BASE_URL || "http://localhost:3001";

  const apiRequest = async (endpoint, token, method) => {

    let url = `${BASE_URL}/${endpoint}`;

    if (method == 'get' || method == 'GET') {
      try {
        const res = await axios.get(url, {
          headers: {
            'Authorization': `Bearer ${token}`
          },
        })
        return res.data
      } catch (err) {
        console.error("API Error:", err.response);
        let message = err.response.data.error.message;
        throw Array.isArray(message) ? message : [message];
      }

    } else if (method == 'post' || method == 'POST') {
      try {
        const res = await axios.post(url, {
          headers: {
            'Authorization': `Bearer ${token}`
          },
        })
        return res
      } catch (err) {
        console.error("API Error:", err.response);
        let message = err.response.data.error.message;
        throw Array.isArray(message) ? message : [message];
      }
    }
  }

  return [apiRequest]
}

export default useApi;
1tu0hz3e

1tu0hz3e1#

您应该在请求的标题中添加User-Agent
失眠是这样的吗

> User-Agent: insomnia/2022.7.5
> accept: application/json
> ...

相关问题