2017-11-10 3 views
1

数分前に私は最新のIonicで新しいプロジェクトを作成しました。私はionic native http get return型エラー - 未定義の 'match'プロパティを読み取ることができません

import { HTTP } from '@ionic-native/http' 

を輸入し、その後、私は、バックエンド・アプリケーションへのGETリクエストを送信しようとしました。

meetingsUrl: 'http://localhost:8080/test/all'; 
this.http.useBasicAuth('login','password'); 
    this.http.get(this.meetingsUrl,{}, {'Content-Type':'application/json'}) 
     .then(data => { 
     console.log(data); 
     }) 
     .catch(error => { 
     console.log(error); 
     }); 

私は 'ionic cordova run browser'コマンドを使用しています。私はアンドロイドで走ろうとしましたが、それは同じ効果でした。すべての場合には

私はエラーを得た:

TypeError: Cannot read property 'match' of undefined 
    at getMatchingHostHeaders (advanced-http.js:118) 
    at getMergedHeaders (advanced-http.js:126) 
    at Object.get (advanced-http.js:210) 
    at callCordovaPlugin (plugin.js:110) 
    at plugin.js:136 
    at util.js:22 
    at new t (polyfills.js:3) 
    at tryNativePromise (util.js:21) 
    at getPromise (util.js:29) 
    at wrapPromise (plugin.js:119) 

答えて

1

あなたは間違ってそれを行っています。 headers詳細を設定する必要があります。

from the docdoc

get(url, parameters, headers) 

を参照してください:

this.http.get('https://google.com/', { 
     id: 12, 
     message: 'test' 
    }, { Authorization: 'OAuth2: token' }).then(data => { 
     console.log(data.status); 
     console.log(data.data); // data received by server 
     console.log(data.headers); 
    }) 
    .catch(error => { 
     console.log(error.status); 
     console.log(error.error); // error message as string 
     console.log(error.headers); 
    }); 
+0

のようなURLでログイン要求のために私はヘッダーがあります:コンテンツタイプを」 : 'application/json。しかし、私はログインとパスワードではなく、oauth2の基本的な認証を使用したい – Algeroth

+0

これはdocの単なる例でした。これを見てください:https://stackoverflow.com/a/34465070/1077309 – Sampath

1

AppSignInhttp://www.example.com/

public signInRequest(login:Login):Promise<OAuth> { 
     let params:URLSearchParams = new URLSearchParams(); 
     params.set('userId', login.userId.toString()); 
     params.set('password', login.password.toString()); 
     let requestOption:RequestOptionsArgs = { 
      search: params 
     }; 
     return this.http 
      .get(AppSignIn, requestOption) 
      .toPromise() 
      .then(this.extractData) 
     } 
関連する問題