我正在使用 Node、Express 和 Webpack 编写 React 应用程序。我的问题是我的 API 调用的 URL 总是在主机和路径之间有一个端口号。似乎关于此主题的大多数问题更多地与路由有关,而不是与外部 API 调用有关。
我对 Request 感觉舒服多了,但是我在尝试让它与 Webpack 很好地配合时感到非常沮丧,所以我转向了我不太了解的 Node 的 http。
下面是负责 API 调用的方法:
getData() {
const self = this;
const url = "api.civicapps.org";
const options = {
"method": "GET",
"mode": "no-cors",
"host": url,
"path": "/restaurant-inspections/?restaurant_name=" + this.state.nameQuery,
"port": 8080,
"headers": {
"Access-Control-Allow-Origin": "http://localhost:3000"
}
}
const p1 = new Promise(function(resolve, reject) {
resolve(
http.request(options, function(res) {
res.setEncoding('utf8');
const body = {};
//This is clearly not ideal, but all I need right now is to get a response from the API
res.on('data', function(chunk) {
body.push(chunk);
});
return body;
}).end()
)
});
p1.then(function(data) {
console.log(data);
self.setState({
name: data.body
});
});
p1.catch(function(err) {
...
});
}
我只想对这个 API 发出一个简单的测试 GET 请求。一旦成功,我就会没事的。
提前致谢。
最佳答案
事实证明将端口设置为 80 并使用 sudo 运行解决了问题。
关于node.js - 从 Node HTTP 请求到外部 API 中删除端口号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36930909/