2016-09-24 72 views
0

我正在运行基本快递服务器代码(如下所示)。我试图通过路线获取req.params值。Express JS,req.params命令在应用程序部署到Heroku时不起作用

var express = require("express"); 
var app = express(); 
var PORT = process.env.PORT || 3000; 

app.get("/", function(req, res, next){ 
    res.send("Timestamp Microservice"); 
}); 

app.get("/:unix", function(req, res, next){ 
    res.send(req.params); 
}); 

app.listen(PORT, function(){ 
console.log("Server running on: " + PORT + "!"); 
}); 

在localhost:1234分之3000,响应是一个JSON对象

{ unix: "1234"} 

但是当我部署此应用的Heroku,它显示

Cannot GET/1234 

你能告诉我什么的问题以及如何解决?我刚开始学习Node和Express,并且不太了解。谢谢。

回答

-1

更新: 我必须使用body-parser节点模块,现在问题已解决。

var bodyParser = require("body-parser"); 
app.use(bodyParser.json()); 
+0

尽管这并没有什么意义,因为'body-parser'不用于填充'req.params',也不用于'GET'请求。也许你的初始部署失败了,在添加'body-parser'并重新部署新的代码后,最终命中了服务器。 – robertklep

+0

那么,这绝对没有意义。这个问题一定是在别处。根本不存在GET请求的请求体。 – Brad