【发布时间】:2019-07-15 12:27:54
【问题描述】:
我是Node新手,使用http-proxy-middleware时无法传递请求参数..
它抛出了 404 错误
这是快速监听器:
app.put("/api/markets/:id",()=>{..code..});
这是 axios PUT 请求:
axios
.put("/api/markets/" + idToPass, {..Object..})
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
这是代理中间件:
const proxy = require("http-proxy-middleware");
module.exports = function(app) {
app.use(proxy("/api/*", { target: "http://localhost:3050" }));
};
我的客户端在 localhost:3000 (react app) 上运行 我的服务器在 localhost:3050
当我打开浏览器网络选项卡以检查请求时,我看到正在调用
localhost:3000/api/markets/idContent
不是
localhost:3050/api/markets/idContent
应该是这样的。
当我手动发送它时它可以工作
localhost:3050/api/markets/idContent
我该如何解决这个问题,有什么想法吗?
提前谢谢
【问题讨论】:
-
“当我打开浏览器网络选项卡以检查请求时,我看到正在对 localhost:3000/api/markets/idContent 进行调用”,这是预期的。您正在发送由您的服务器代理的原始相对请求(未重定向)。您不会在网络选项卡中看到目标网址。
-
当我发出请求时,Url 并没有改变,对不起,我对 Node 很陌生,你是说预计正在对 localhost:3000/.... 进行调用。
-
P.S.其他不包含 /:id 的 axios 请求(获取、发布)效果很好
标签: node.js reactjs express proxy axios