2016-05-18 5 views
0

応答が成功した場合、GET後にhttp POSTサービスコールを呼び出すにはどうすればよいですか。角度2を使用して同じ関数でGETとPOSTの両方のサービス呼び出しを呼び出す

私はPOSTのための

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); 
    } 
} 

、次のようにGETコールを書かれたサンプルのURLがあります。

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私は期待しています..しかし、最初の応答が正しく来るまで2番目の機能を実行しませんか? – vishnu

+0

データの後にadd()またはafter this()=>を呼び出すことができます。成功後の依存関係としては – mayur

+0

ありがとう@ mayur..one GETコールにパラメータを渡している間にエラーが発生しました。タイプ '{params:URLSearchParams; } 'は' RequestOptionsArgs 'タイプのパラメータに割り当てられません。これは私のコードです:options = new RequestOptions({ params:新しいURLSearchParams( 'validateUsr = false') }); – vishnu

関連する問題