2016-05-18 35 views
0

如果響應成功,我如何在GET後調用http POST服務調用。使用角度2在同一函數中調用GET和POST服務調用

我已經書面按照以下方式get調用,

import {Page, NavController} from 'ionic-angular'; 
import {Http, Headers} from 'angular2/http'; 
import 'rxjs/Rx'; 

@Page({ 
    templateUrl: 'build/pages/login/login.html' 
}) 


export class LoginPage {  
    constructor(private nav: NavController, public http: Http) { 
    } 

    onLogin(value: string): void { 
    if(this.authForm.valid) {   
     this.http.get('https://itunes.apple.com/us/rss/topmovies/limit=1/json') 
     .map(res => res.json()) 
     .subscribe(
     data => {console.log(JSON.stringify(data));}, 
     err => this.logError(err), 
     () => console.log('Random Quote Complete') 
    ); 

     this.nav.push(AccountViewPage); 
    } 
    } 

    logError(err) { 
    console.error('There was an error: ' + err); 
    } 
} 

爲POST樣品網址:

https://itunes.apple.com/1/json

headers: {"Content-Type": "application/x-www-form-urlencoded" }, 
ignoreAuthModule: 'ignoreAuthModule' 
+0

不能做在用戶中發佈? –

回答

1
**It could be better if you use another Function sucees** 

    onLogin(value: string): void { 
    if(this.authForm.valid) {   
    this.http.get('https://itunes.apple.com/us/rss/topmovies/limit=1/json') 
    .map(res => res.json()) 
     .subscribe(
     data => {console.log(JSON.stringify(data));}, 
     err => this.logError(err), 
     () => this.add(); 
    ); 

    this.nav.push(AccountViewPage); 
    } 
    } 

    public add(): void { 
    // another service here 
    } 
+0

謝謝@ mayur..that是我的期望..但它不會執行第二個功能,直到第一個響應正確? – vishnu

+0

你可以在數據後調用add()或之後this()=>,因爲它依賴於你想要的成功 – mayur

+0

謝謝@ mayur ..更多我越來越錯誤,同時傳遞參數到GET調用;類型'{params:URLSearchParams; }'不能分配給'RequestOptionsArgs'類型的參數。這是我的代碼:let options = new RequestOptions({params:new URLSearchParams('validateUsr = false') }); – vishnu