Ich kann nicht Post-Params auf dem Server. Ich sende Post Anfrage in Angular 2 App zu Nodejs Express-Server. Hier mein Code in Angular 2:Angular 2 http Post + Nodejs Express
import { Injectable } from 'angular2/core';
import { Http } from 'angular2/http';
@Injectable()
export class QueryService {
static get parameters() {
return [[Http]]
}
constructor(http) {
this.http = http;
}
postApi() {
var headers = new Headers();
headers.append('Content-Type', 'application/json');
return this.http.post('http://localhost:3001/post_test', JSON.stringify({"id": 1, "name": "2"}), { headers: headers }).toPromise();
}
}
im Browser sehe ich, dass Post params senden wurde, beispielsweise in Chrom Abschnitt "Request Playload" enthält meine Post-Daten. Und hier mein Server:
app.js:
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
Routen/index.js:
exports.post_test = function(req, res) {
console.log('post_test ', req.body);
}
und der Ausgang ist "post_test {}"
ich kann‘ Ich verstehe, wo ist das Problem. Weil mein Server gut funktioniert, als ich den Angular 1 $ http-Dienst für Post-Anfragen benutzt habe. Bitte, hilf mir!