我无法在服务器上发布params。我将Angular 2 app中的post请求发送到Nodejs express服务器。 这是我在Angular 2中的代码:
QVTKRenderWindowInteractor
在浏览器中,我看到post params是发送的,例如在chrome部分" Request Playload"包含我的帖子数据。 在这里我的服务器:
app.js:
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();
}
}
路由/ index.js:
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
,输出为" post_test {}"
我无法理解,问题出在哪里。因为我的服务器工作正常,当我使用Angular 1 $ http服务进行帖子查询时。 拜托,帮助我!
答案 0 :(得分:3)
您忘记导入Headers
类:
import { Injectable } from 'angular2/core';
import { Http, Headers } from 'angular2/http'; // <----
在这种情况下,标题不会随您的请求一起发送,但不会显示错误。