終于解決了跨域問題之后發(fā)現(xiàn)不管什么操作后臺返回過來的數(shù)據(jù)都是一樣的,谷歌查看數(shù)據(jù)已經(jīng)發(fā)送過去了,但是后臺沒有處理,為什么?
對比header之后發(fā)現(xiàn)angular的http.post發(fā)送的參數(shù)是json格式的,傳參方式是request payload,不是用的form傳輸,header中的content-type也不一樣,修改一下header,并把json格式轉(zhuǎn)化一下即可:
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請求,是可以帶參數(shù)的,為什么會報錯呢?看了一下報錯信息是:

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