当前位置: 首页 > 知识库问答 >
问题:

在Express中解析JSON时未定义Body。js

桂志新
2023-03-14

我有一个简单的服务器,我只是在发布时将json打印到屏幕上。这是我的代码:

/*jslint node:true*/

var express = require('express');
var app = express();
app.use(express.json());
app.use(app.router);

app.post('/event', function (res, req) {
    //'use strict';
    console.log(req.body);
});

app.listen(3000);

然后我用curl将一个JSON放到服务器上:

curl -X POST -H "Content-Type: application/json" -d '{"username":"xyz","password":"xyz"}' http://localhost:3000/event

但是服务器只是打印未定义的

我做错了什么?

共有2个答案

酆恩
2023-03-14

我才知道问题出在哪里。应该是:

function (req, res)

而不是:

function (res, req)

因为第一个参数是请求,第二个参数是响应。

汪建白
2023-03-14

您尚未定义express的用法。bodyParser()

必须这样做:

app.use(express.bodyParser());

实时示例:模块路由文件

exports.post = function(req, res){
    console.log(req.body);
    //res.render('index', { title: 'Express' });
};

申请:

app.post('/post', routes.post);

小提琴手请求:

评论:如果您有最新的libs,您应该考虑到connect3.0不推荐使用bodyParser。合适的线程:如何摆脱Connect 3.0弃用警报?

 类似资料:
  • 问题内容: 仅在兼容模式下,我才会在IE 9中收到以下错误。导致此错误的行是 在(非兼容模式),Chrome或Firefox中不会发生该错误。知道这里发生了什么吗? 问题答案: 请参阅此处以了解有关情况的博客文章:解决JSON是Internet Explorer中的未定义错误 在页面中包含JSON库,您应该一切顺利。

  • 我正在尝试使用Express 4.0上传单个图像文件文本字段 1) 穆特的要求。车身要求。如果登录控制台,则未定义文件对象 2)res.json(测试时也res.send)获取错误-TypeError:res.json不是Object.handle的函数) multer使用力矩配置如下。js表示日期,几乎是multer Github文档中的一行对一行: 这是客户端表单 我做错了什么?

  • 问题内容: 我想解析Go中的JSON对象,但想为未指定的字段指定默认值。例如,我具有struct类型: A,B和C的默认值分别是“ a”,“ b”和“ c”。这意味着当我解析json时: 我想得到的结构: 使用内置包可以吗?否则,是否有任何具有此功能的Go库? 问题答案: 使用encoding / json可以实现:调用时,不需要给它一个空结构,可以给它一个默认值。 例如: 在Go操场上运行此示例

  • 我正在创建一个自定义JSP标记,以从数据对象生成表。为了使代码更简洁,我想为行创建一个单独的标记文件,但我似乎无法在我的主自定义标记中包含自定义标记(抱歉,我知道这很混乱)。 例如我有: 桌子标签: 一行标签 注意第一个文件中的导入(<代码> 我试图将导入更改为<代码> 我做错了什么?

  • Node.js body parsing middleware. Parse incoming request bodies in a middleware before your handlers, available under the req.body property. Note As req.body’s shape is based on user-controlled input,