【问题标题】:Express JS, req.params command not working when app deployed to Heroku将应用程序部署到 Heroku 时,Express JS、req.params 命令不起作用
【发布时间】:2016-09-24 22:15:25
【问题描述】:

我正在运行基本的快速服务器代码(如下所示)。我正在尝试通过路由获取 req.params 值。

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:3000/1234 上,响应是一个 JSON 对象

{ unix: "1234"}

但是当我将此应用程序部署到 Heroku 时,它会显示

Cannot GET/1234

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

【问题讨论】:

    标签: javascript node.js express heroku


    【解决方案1】:

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

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

    【讨论】:

    • 这实际上没有意义,因为body-parser 不用于填充req.params,也不用于GET 请求。也许您的初始部署失败了,在添加body-parser 并重新部署新代码后,终于到达了服务器。
    • 嗯,这完全没有意义。问题一定出在其他地方。 GET 请求根本没有请求正文。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    • 2021-07-06
    • 2020-09-25
    • 2021-04-21
    • 1970-01-01
    相关资源
    最近更新 更多