Node.JS无法在不同端口上调用localhost上运行的服务

时间:2013-09-03 07:32:19

标签: node.js express

我想要做的是我的应用程序在端口3030上的localhost上运行 我写了这段代码

var request = require('request');

request("http://127.0.0.1:3000/showdb", function (error, response, body) {
    if(error)
        console.log("ERROR IS :"+error);

    if (!error && response.statusCode == 200) {
        console.log("body"+body) // Print the google web page.
        res.send(body);
    }
})

所以我在我的localhost上调用另一个在端口3000上运行的应用程序服务。(127.0.0.1默认ip为localhost)。但它没有工作这个请求永远不会和错误输出“错误:解析错误”。 我成功调用了端口3030的服务,但在该服务中,从不调用该请求。任何帮助将不胜感激。

这是此服务返回的jason(“/ showdb”)

结果:[  {   名称:“bridgevine”,   sizeOnDisk:486539264,   空:假  },  {   名称:“crud”,   sizeOnDisk:218103808,   空:假  },  {   名称:“exascaleDb”,   sizeOnDisk:486539264,   空:假  },  {   名称:“本地”,   sizeOnDisk:83886080,   空:假  },  {   名称:“mydb”,   sizeOnDisk:218103808,   空:假  },  {   名称:“测试”,   sizeOnDisk:218103808,   空:假  },  {   名称:“winedb”,   sizeOnDisk:218103808,   空:假  } ]

1 个答案:

答案 0 :(得分:0)

我怀疑在这两行中都发生了解析错误:

    console.log("body"+body) // Print the google web page.
    res.send(body);

评论一个或另一个。在JSON.stringify(body)中包装body。如果这个修复了,这意味着3000服务器正在发送JSON,但你的行为就像文本一样。