我需要創建2個http請求(第二個依賴於第一個請求),以將用戶credentiels插入到我的數據庫中。如何在Angular 2中創建2個依賴的http請求
第一個服務獲取用戶密碼(http://localhost:55978/FleetViewDBWebService.asmx/ChekCreds?name=name1&subname=subname1),並檢查用戶是否已經存在,返回'ID'(如果存在)或返回「OK」(如果用戶不存在)。
然後我需要訂閱第一個服務並獲取返回的值。 如果「ok」調用第二個服務(http://localhost:55978/FleetViewDBWebService.asmx/InsertUser?name=name1&subname=subname1&Telephone=334580021)
來插入用戶信箱,則返回任何消息 。
我打電話給第一個服務並得到結果,但我不知道如何添加第二個服務。
有任何想法
service.ts
CheckCreds(value: any) {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
let params = new URLSearchParams();
params.set('name', (value.nom).toString());
params.set('subname', (value.prenom).toString());
return this.http.get(this.checkUri, {
search: params, withCredentials: true
})
.map(res => {
console.log("++++" + res.text());
return JSON.parse(res.text());
})
.catch(this.handleError)
}
component.ts
submitForm($ev, value: any) {
$ev.preventDefault();
for (let c in this.valForm.controls) {
this.valForm.controls[c].markAsTouched();
}
if (this.valForm.valid) {
this.Service.CheckCreds(value)
.subscribe(
res => {
string result=JSON.stringify(res);
},
e => {
alert(e);
},
() => {
}
);
}
}
我試圖做類似的事情,有人幫助我。檢查https://stackoverflow.com/questions/44831278/angular2-subscribe-inside-subscribe – Rama