【问题标题】:Proxy property isn't working in package.json代理属性在 package.json 中不起作用
【发布时间】:2020-07-28 13:15:10
【问题描述】:

我是新手,我正在尝试向 API 端点发出发布请求。我将 package.json 中的代理放在端点 url 上,这里是 fetch 函数:

const requestOptions = {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    username: username,
    password: password,
  }),
};

const res = await fetch("/token", requestOptions);

这是我的代理道具:"proxy": "https://somedomain/api/auth"

当我做console.log(res.url)时,它总是打印“http://localhost:3000/api/auth/token/” 不是“https://somedomain/api/auth/token/”

这是为什么?

有什么解决办法吗?

【问题讨论】:

    标签: reactjs fetch package.json


    【解决方案1】:

    您需要添加当前缺少的 Accept 标头。标头如下所示:

    headers: {
      "Content-Type": "application/json",
      "Accept": "application/json"
    }
    

    其他代理方式

    1. 您可以下载http-proxy-middleware 包并配置您的代理。
    2. 您可以使用webpack proxy 并将您的请求发送到不同的终端服务器。
    module.exports = {
      devServer: {
        proxy: {
          '/api': 'http://localhost:3000'
        }
      }
    };
    

    注意:请记住,CORS 问题会弹出,因此还要添加 Access-Control-Allow-Origin 标头。

    【讨论】:

      猜你喜欢
      • 2019-01-28
      • 2018-09-19
      • 1970-01-01
      • 1970-01-01
      • 2016-11-11
      • 2012-02-20
      • 1970-01-01
      • 2018-06-14
      • 1970-01-01
      相关资源
      最近更新 更多