有一次,我只想向POST
rails
服务器发出localhost:3000
个请求
如果在postman
上使用cUrl
,我可以ping我的API
但是哇,我的节点应用程序我想这样做:
var req_body = {
'my_id': id,
'dataTable': data }
var options = {
method: 'POST',
url: config.get('api_url') + 'end_tracking',
json: true,
body: req_body
}
// config.get('api_url') return http://localhost:3000/
request(options, function (error, response, body) {
console.log(error)
... }
这就是我得到的:
{ Error: connect ECONNREFUSED 127.0.0.1:3000
at Object.exports._errnoException (util.js:896:11)
at exports._exceptionWithHostPort (util.js:919:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1073:14)
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 3000 }
正如我所说,如果我直接向邮递员提出这个请求,一切正常!
答案 0 :(得分:2)
我终于做到了!
由于未知原因,使用localhost:3000
启动的rails s
访问在我的节点服务器上根本不起作用
但是当我使用rails s -b 0.0.0.0
启动rails服务器时我工作了!
答案 1 :(得分:0)
我是怎么做到的,只是使用相同的结构,我希望它适合你
request({
url: url, //URL to hit
method: 'post',
headers: headers,
timeout: 10000,
body: JSON.stringify(body)
}, function (error, result, body) {
if (error) {
console.log(error);
} else if (result.statusCode == 500) {
console.log('not found');
} else {
console.log('success')
}
});
希望它有效。