【发布时间】:2021-05-24 04:34:42
【问题描述】:
我有一个在本地计算机上的网络服务器上运行的网络应用程序(使用 AngularJS)。我需要使用我的 NodeJS 服务器执行 AJAX REST 请求,并将其代理到异地的另一台服务器。所有GET 请求都可以使用request 包顺利完成。但是我的推杆是空的。
GET 请求使用以下管道传输:
$request.get(apiUrl+req.url).pipe(res);
而且效果很好。
我的空PUT 请求看起来像这样:
$request.put(apiUrl+req.url).pipe(req);
我已验证 PUT 请求已使用 Wireshark 发送到所需的 REST API。不知何故,我想不通管道应该怎么做。我从 REST 服务器得到答案,我的身体不能是 null。
有什么线索吗?我想这真的很简单,但我认为请求包上的文档并不令人满意。
完整代码在这里,节点服务器检查我们是否使用地址 /api
if(runAsProxy && req.url.indexOf('/api') === 0){
console.log("this is /api")
if(req.method ==="PUT"){
console.log("PUT")
$request.put(apiUrl+req.url).pipe(res);
console.log("body: ",req.body)
}
else if(req.method === 'GET' || req.method === 'HEAD'){
$request.get(apiUrl+req.url).pipe(res);
}
return;
}
【问题讨论】:
标签: javascript node.js http rest request