2016-09-15 9 views
14

http.getを使用してAngular2/ionic2アプリからHTTP GETリクエストを送信しようとしています。 HTTP GET要求には有効なLinkedinアクセストークンが含まれており、いくつかのプロファイルデータを返すことになっています。角2:除外:状態:0のレスポンス:ヌル

3  229881 group EXCEPTION: Response with status: 0 for URL: null 
4  229895 error EXCEPTION: Response with status: 0 for URL: null 
5  229909 groupEnd 
6  229950 error Uncaught Response with status: 0 for URL: null, http://192.168.178.49:8100/build/js/app.bundle.js, Line: 95774 

まだ:www.hurl.it

  • 上から呼び出されたGETリクエストをテストしたときと同じURLで

    • GETリクエストが働くgetProfileData()が呼び出されたときただし、次のエラーが発生しますアプリケーションは別のURLで動作します。 let URL = "https://httpbin.org/get?name=hannes"

    オンボーディング-load.ts:

    import { Component } from '@angular/core'; 
    import { NavController, Platform, Alert } from 'ionic-angular'; 
    import { OnboardingHelloPage } from '../onboarding-hello/onboarding-hello'; 
    import { CordovaOauth, LinkedIn } from 'ng2-cordova-oauth/core';  
    import { Http, Headers, RequestOptions } from '@angular/http'; 
    import 'rxjs/add/operator/map' 
    
    
    @Component({ 
        templateUrl: 'build/pages/onboarding-load/onboarding-load.html', 
    }) 
    export class OnboardingLoadPage { 
        private data; 
        private code; 
    
    constructor(private navCtrl: NavController, private platform: Platform, private http: Http) { 
        this.http = http; 
        this.navCtrl = navCtrl; 
        } 
    
    public getProfileData() { 
        let URL = "https://api.linkedin.com/v1/people/~?oauth2_access_token=SOMEVALIDTOKEN&format=json"; 
        //let URL = "https://httpbin.org/get?name=hannes" 
    
        this.http.get(URL) 
        .map(res => res.json()) 
        .subscribe(data => { 
         this.data = data; 
         console.log(JSON.stringify(data)); 
        }); 
        // go to next page 
        this.viewOnboardingHello(); 
    } 
    ... 
    } 
    
  • +0

    同じ問題があります。これは非常に迷惑です。だから基本的な機能は動作しませんし、簡単なケースをカバーしません – Roman

    +0

    このための修正が必要 – user2320607

    +0

    この問題は通常、CORSの問題が発生したとき – LeRoy

    答えて

    9

    それはおそらくCORSの問題です。
    Angular2 APPは、呼び出すAPI以外のサーバーでホストされています。あなたは(だけテスト目的のために)これを回避したい場合は

    は、this Chrome extensionをインストールし、

    アクセス制御 - 許可 - 起源を追加:あなたのヘッダーに

    を。
    実際に使用するには、サーバー(Node、PHP、Python ...)(ここではangle2 APPがホストされています)からAPIを呼び出し、データをangle2 APPに渡す必要があります。

    +0

    私のために働いてくれてありがとう – mohammad

    3

    これはサーバーがオフラインになっている場合にも発生します。

    ステータス0とURLヌルに正式な意味があるかどうか疑問に思っていたので、私はここで終わりました。

    +0

    サーバーがオフラインの場合の解決策はありますか? – Roberto

    +1

    私の場合、いいえ。具体的には、私の 'データ'サーバー(RESTful API)に到達できないときに、このような応答を得ます。そのため、Angularアプリでデータを取得する方法はありません。 –

    0

    私たちのログにはいくつかありました。少し掘り下げた後、ブラウザが新しいURLへのナビゲートを開始した後、ajaxリクエストが中止されたときにいつも来るようです。

    関連する問題