終于解決了跨域問(wèn)題之后發(fā)現(xiàn)不管什么操作后臺(tái)返回過(guò)來(lái)的數(shù)據(jù)都是一樣的,谷歌查看數(shù)據(jù)已經(jīng)發(fā)送過(guò)去了,但是后臺(tái)沒(méi)有處理嘹悼,為什么?
對(duì)比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;
}
})
注意此處有坑,我寫(xiě)上{headers:this.headers}之后提示錯(cuò)誤毁菱,查了一下http的post請(qǐng)求膛腐,是可以帶參數(shù)的睛约,為什么會(huì)報(bào)錯(cuò)呢?看了一下報(bào)錯(cuò)信息是:
是這句話(huà)出了錯(cuò):
private headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8' });
頭部引入:import { Http,Headers } from '@angular/http'; 即可