angular4项目后端接收不到http.post发送数据的问题

终于解决了跨域问题之后发现不管什么操作后台返回过来的数据都是一样的,谷歌查看数据已经发送过去了,但是后台没有处理,为什么?

对比header之后发现angular的http.post发送的参数是json格式的,传参方式是request payload,不是用的form传输,header中的content-type也不一样,修改一下header,并把json格式转化一下即可:

private headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8' });

let val=$.param(value);
this.http
.post(url,val,{headers:this.headers})
.map(res => res.json()).subscribe(data=>{
if (data) {
this.title=data.msg;
}
})

注意此处有坑,我写上{headers:this.headers}之后提示错误,查了一下http的post请求,是可以带参数的,为什么会报错呢?看了一下报错信息是:


1.png

是这句话出了错:
private headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8' });
头部引入:import { Http,Headers } from '@angular/http'; 即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。