Я отправляю объект JSON от моего клиента AngularJS к моему серверу NodeJS.запрос не показывать данные с помощью body-parser
Вот мой код клиента, выполняющий запрос POST.
customerData.endPoint = "customers";
$http.post('https://woocommerce-api-samarthagarwal-1.c9users.io/api', customerData)
.then(function(response){
console.log(response)
});
Вот мой код сервера.
var express = require('express');
var bodyParser = require("body-parser");
var app = express();
var urlParser = bodyParser.urlencoded({ extended: true});
var jsonParser = bodyParser.json();
app.post('/api', jsonParser, function(request, response){
response.setHeader("Access-Control-Allow-Origin", "*");
console.log("body " + JSON.stringify(request.body));
var endPoint = request.body.endPoint;
console.log("POST on " + endPoint + " with Data " + (request.body.customer));
});
var port = process.env.PORT;
var ip = process.env.IP
app.listen(port, ip, function() {
console.log('Server listening on ' + ip +':' + port);
});
Но ничего не записывается на консоль.
Любая помощь высоко ценится. Заранее спасибо.
можете ли вы регистрировать запрос.headers? Похоже, вы не получаете Content-Type: application/json, который запрещает bodyParser.json анализировать запрос – aaaristo
Я получаю '' content-type ':' text/plain; charset = UTF-8'' в журнале заголовков запросов. –
Установите этот заголовок запроса на '' application/json '' на угловой стороне. Это то, что говорит вашему серверу (то есть парсеру), что он отправляет полезную нагрузку JSON. – danneu