【问题标题】:Axios post with proxy on create-react-app hosting server doesn't work在 create-react-app 托管服务器上使用代理的 Axios 发布不起作用
【发布时间】:2018-09-06 11:58:30
【问题描述】:

我的 package.json (react app) 中有以下行

"proxy": "http://www.demoapp.com"

我正在使用 REST-API 调用请求数据

axios.post('/user_data', { // http://www.demoapp.com/user_data
        id:id
    })
    .then((response) => { 
        console.log(response);
    })
    .catch((error) => {

    });

如果我在本地系统中使用上面的代码可以正常工作,但是如果我构建一个项目并上传到托管服务器代理不起作用。

有人知道解决办法吗?我也检查了github,但没有找到合适的解决方案。

【问题讨论】:

  • “不起作用” 实际上毫无意义。检查浏览器开发工具网络中的实际请求以获取线索

标签: reactjs axios


【解决方案1】:

我认为你应该在 axios 配置中定义你的代理,如果应该为每个请求全局应用它,你可以使用这个代码来定义全局 axios 默认https://github.com/axios/axios#config-defaults

import axios from 'axios';

axios.defaults.proxy.host = "http://www.demoapp.com"
axios.defaults.proxy.port = ...
axios.defaults.proxy.auth.username = ...
axios.defaults.proxy.auth.password = ...

【讨论】:

  • 非常感谢您的回答。它起作用了:)但不是在“axios.defaults.proxy.host”中提到的“proxy.host”,而是在您提供的GITHUB链接中提到的“baseURL(“axios.defaults.baseURL”)”: )
  • 我正在寻找适用于我所有文件的全局代理解决方案,而不是仅适用于上述文件。
  • 来自文档 github.com/axios/axios#config-defaults : You can specify config defaults that will be applied to every request. 因此此配置将全局应用于每个请求
猜你喜欢
  • 2018-05-10
  • 2019-10-01
  • 1970-01-01
  • 2018-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-23
  • 1970-01-01
相关资源
最近更新 更多