リクエストをユーティリティクラスに渡すノードサーバーをセットアップしました。 これまでのところ、POST
要求はヒットしましたが、bodyプロパティ値へのマッピングは未定義です。 Bodyparserは、Json解析を支援するpostメソッドでも使用されます。エクスプレスサーバーのリクエスト本文からJSONプロパティを解析するにはどうすればよいですか?
Iは、要求に段差と本体は人口であることを確認し、ペーストに示すように、プロパティ名が正しいことを確認:req.body.propertyname
介しassinged値に
body: { '{\n\t"Email":"[email protected]",\n\t"Dashboard_Name":"my dash 4",\n\t''},
しかしマッピング以下undefinedを返す:
var p_email = req.body.Email;
var p_dashboardName = req.body.Dashboard_Name;
質問:
エクスプレスサーバーのリクエスト本文からJSONプロパティを解析するにはどうすればよいですか?
JSONオブジェクトが掲示される:
これは私がポストマンを使用してサーバに投稿JSONである:エクスプレスサーバと関連するユーティリティメソッドSaveUserProfileの
{
"Email":"[email protected]",
"Dashboard_Name":"my dash 4"
}
要旨:
エクスプレスサーバー -
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最後に更新しました。 –