Node.js angular2-rc1 http.post无法正常工作
我正在创建一个angular2应用程序,在该应用程序中,我在我的服务中使用http进行Node.js angular2-rc1 http.post无法正常工作,node.js,mongodb,angular,typescript,angular2-http,Node.js,Mongodb,Angular,Typescript,Angular2 Http,我正在创建一个angular2应用程序,在该应用程序中,我在我的服务中使用http进行POST调用mongoDB 当我第一次调用POST时,它工作正常,即条目正确插入数据库,但当我第二次发送数据时,它没有被插入 如果我在第一次插入后重新加载页面,那么工作正常 我做了一些调试,发现在第二次请求期间,我的req.body是空的 这是我的密码: page.service.ts savePage(page: Object) { this.headers.append('Content-Type'
POST
调用mongoDB
当我第一次调用POST
时,它工作正常,即条目正确插入数据库,但当我第二次发送数据时,它没有被插入
如果我在第一次插入后重新加载页面,那么工作正常
我做了一些调试,发现在第二次请求期间,我的req.body
是空的
这是我的密码:
page.service.ts
savePage(page: Object) {
this.headers.append('Content-Type', 'application/json');
let url = this.baseUrl+'/pm/pages/';
let data={};
data["data"]=page;
console.log(data); //this is printing both times correctly
//on second request data is blank where as it works correctly for first time
return this.http.post(url, JSON.stringify(data),{headers: this.headers})
.map((res: Response) => res.json()).catch(this.handleError);
}
这是我在节点服务中显示的req.body中的数据
第一次请求:
body:{
data:{
name: 'wtwetwet',
desc: 'wetwetwetetwte',
isPublic: true,
createdBy: 'Bhushan'
}
}
第二次请求
body: {}
有任何输入吗?它看起来更像是后端的东西。但是,您应该包括订阅此http调用的代码
顺便问一下,为什么要使用RC1?Angular 2现在在RC5上。我终于意识到,我的方法用于在每次被调用时设置内容类型 因此,将代码从:
savePage(page: Object) {
this.headers.append('Content-Type', 'application/json');
let url = this.baseUrl+'/pm/pages/';
let data={};
data["data"]=page;
return this.http.post(url, JSON.stringify(data),{headers: this.headers})
.map((res: Response) => res.json()).catch(this.handleError);
}
致:
他为我做了这件事。
实际上,在进行rest调用时,我们只需要设置一次头,但在我的代码中它已经设置好了,因此创建新的头对象有助于我清除以前设置的任何配置
感谢大家的帮助。Google Chrome 52.0.2743.116 m版(64位)…这是浏览器问题吗?我想不是。不知道是什么原因导致此问题。我的节点服务没有问题,因为我使用高级Rest客户端对其进行了测试。并且它在多个请求中工作正常。我收到了相同的错误,但标头只设置了一次。我使用的是rc4。有什么想法吗?
savePage(page: Object) {
this.headers=new Headers();
this.headers.append('Content-Type', 'application/json');
let url = this.baseUrl+'/pm/pages/';
let data={};
data["data"]=page;
return this.http.post(url, JSON.stringify(data),{headers: this.headers})
.map((res: Response) => res.json()).catch(this.handleError);
}