繁体   English   中英

nodeJS 请求 POST To localhost:3000 ECONNREFUSED

[英]nodeJS request POST To localhost:3000 ECONNREFUSED

有一次我只想向在localhost:3000上运行的rails服务器发出POST请求

如果像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 }

正如我所说,如果我直接向邮递员提出这个请求,一切正常!

我终于做到了!

出于未知原因,访问localhost:3000 ,使用rails s启动在我的节点服务器上根本不起作用

但是当我用rails s -b 0.0.0.0启动 rails 服务器时我工作了!

我是怎么做到的,只是使用相同的结构,我希望它对你有用

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')
        }
    });

希望它有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM