我已經建立了一個節點服務器,將請求傳遞給一個實用程序類。 到目前爲止,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表示我們上次更新。 –