0
anglejsのJSONデータをPOSTリクエストとしてnode/expressに送信しようとしていますが、すべてのデータがのreqのKEY .bodyキー値のペアの代わりに。Angularjs JSON POSTデータがExpress.jsの値ではなくキーとして受信されました
私は同じ問題でこの質問を見ましたが、解決策は私の問題を解決しませんでした。ここでExpress.js : POST data as KEY of a req.body object instead of VALUE of req.body
は私のクライアント側のコード(ANGULARJS)である:ここでは
var job = {
session_id: $scope.uid,
timestamp: 0,
invoice_id: $params.i
};
var url = 'https://example/' + $scope.uid;
var config = {
headers : {
'Content-Type' : 'application/json; charset=UTF-8'
}
};
//var config = {};
$http.post(url, job, config).then(
function successCallback(response) {
$scope.loading = false;
console.log('Success:', response.data)
}, function errorCallback(response) {
$scope.loading = false;
console.log('Error:', response.data)
});
は私のサーバー側のコードであります(NODEJS/EXPRESS):
app.use(bodyParser.json());
app.use(function (req, res, next) {
var domainWhitelist = ['https://www.example.com'];
var origin = req.headers.origin;
if(domainWhitelist.indexOf(origin) > -1){
res.setHeader('Access-Control-Allow-Origin', origin);
}
res.setHeader('Access-Control-Allow-Methods', 'GET, POST');
next();
});
app.post('/payment/:session', function(req, res) {
var data = req.body;
console.log('data:', data)
});
これは、私は、サーバー側で取得したデータです。
{'{"session_id":"123","timestamp":0,"invoice_id":"-test"}': '' }