我已经建立了一个节点服务器,将请求传递给一个实用程序类。 到目前为止,POST
请求被命中,但是对body属性值的映射是未定义的。 Bodyparser也用于post方法来协助Json解析。如何从express服务器的请求主体中解析JSON属性?
我踏进请求和看到,主体填充并认为这是显示在下面的膏中的属性名称是正确的:
body: { '{\n\t"Email":"[email protected]",\n\t"Dashboard_Name":"my dash 4",\n\t''},
但下面映射到的值通过req.body.propertyname
assinged返回undefined:
var p_email = req.body.Email;
var p_dashboardName = req.body.Dashboard_Name;
问:
如何从快速服务器的请求主体中解析JSON属性?
JSON对象发布:
这是我用邮差发布到服务器的JSON:
{
"Email":"[email protected]",
"Dashboard_Name":"my dash 4"
}
要旨Express服务器和相关的实用方法SaveUserProfile:
Express服务器 -
var express = require('express');
var UserLDAP = require('./utilities/UserLDAP'); //utility file containing the POST method
var bodyParser = require('body-parser');
const url = require('url');
const app = express();
var sql = require('mssql');
const cors = require('cors');
const path = require('path');
sql.connect("********************************************************************")
.then((connection1) => {
sql.globalConnection = connection1;
app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.post('/OOO/SaveUserProfile', UserLDAP.SaveUserProfile)
app.listen(process.env.PORT || 4000);
logger.info(`listening to port ${process.env.PORT}`);
}).catch((err) => {
res.status(500).send(err.message);
logger.error(err.message);
});
个
UserLDAP.js -
var sql = require('mssql');
var bodyParser = require('body-parser');
//Save User Profile
exports.SaveUserProfile = function(req, res) {
req.app.use(bodyParser.json());
req.app.use(bodyParser.urlencoded({ extended: true }));
var request = new sql.Request(sql.globalConnection);
console.log(req);
var p_email = req.body.Email;
var p_dashboardName = req.body.Dashboard_Name;
};
您使用哪种版本的express? – Kalman
4.1表示我们上次更新。 –