为什么 http 代理中间件在 React 中不起作用?

问题描述

这是我的 setupProxy.js:

const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = (app) => {
    app.use(
        'http://localhost:8000',createProxyMiddleware({
            target: 'https://my-website.com',// Should request this url
            changeOrigin: true,})
    );
};

这就是我调用 API 的方式:

makeAPICall = (method,headers,data) => {
    let url = new Url('http://localhost:8000/api/get-data');
    let requestOptions = {
        method,'body': data
    }
    return fetch(url,requestOptions);
}

但是 API 调用将转到 localhost 而不是我在 setupProxy 中提到的那个。

我知道在使用代理中间件时这不是调用 apis 的正确方法,我们只需要在 app.use 中提供一个简单的字符串,如 '/api1'。但是我不允许更改 url,只是想将它们重新路由到新的 api。

在这里做错了什么?

编辑:这就是我调用 makeAPICall 函数的方式:

headers = {
    'Content-Type': 'application/json','Authorization': `Token ${user.auth_token}`
}
makeAPICall('POST',payload).then(data => handleData(data));

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)