2016-06-11 6 views
1

これは、このエラーが存在するコードを実行した後に私の完全なcode ...いいえ「アクセス制御 - 許可 - 起源」ヘッダがIonic2 HTTP POSTリクエストに応じ存在する

this.http.post(link, data, { headers: headers }) 
    .map(res => res.json()) 
    .subscribe(data => { 
     this.data.response = data._body; 
    }, error => { 
     console.log("Oooops!"); 
    }); 

です:

"XMLHttpRequest cannot load 
https://script.google.com/macros/s/AKfycbzdHHKBmLWJYZtFGlJGOrUwlPIWXor1geEOgcSgvhs/dev.  
No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'http://localhost:8100' is therefore not allowed access. 
The response had HTTP status code 401." 

任意の助けが理解されるであろう私は約CORSを検索した...しかし、私はそれのまわりで私の頭を取得することはできません...

+0

重複:http://stackoverflow.com/questions/30132885/ionic-app-cannot-connect-cors-enabled-server-with-http – Quentin

+1

関連:http://stackoverflow.com/questions/35553500/xmlhttprequest -cannot-load-https-www-website-com/ – Quentin

+0

あなたのPOSTリクエストを送信しているリンクには、リクエストしている情報にアクセスするためのサーバーからのアクセス権がありません。サーバー通信 – repzero

答えて

-3

Google ChromeからアプリケーションAllow-Control-Allow-Originをダウンロードしてください。インストールされているアプリケーションでCORSを有効にして、コードを実行します。これにより、ブラウザのCORSが一時的に許可されます。

+0

これは単なる一人のユーザーの短期的な修正に過ぎません – Mike

+0

ブラウザで動作しています... firefoxとblisk ...しかし、Ionic2開発環境では動作しません... –

2

私は同じ問題を抱えていますが、数時間後に私の問題は消えました。

あなたはそれがこのような要求をするために、プロバイダを生成します ionic g provider [name-of-provider] --tsを使用する必要があります

{ 
    "name": "KickStarter", 
    "app_id": "85ff0666", 
    "v2": true, 
    "typescript": true, 
    "proxies": [ 
    { 
     "path": "/mobile", 
     "proxyUrl": "http://xxxxx:port/mobile" 
    } 
    ] 
} 

ionic.config.json

export class AuthProvider { 
    data: any = null; 

    constructor(public http: Http) { } 

    load() { 
     if (this.data) { 
      // already loaded data 
      return Promise.resolve(this.data); 
     } 

     // don't have the data yet 
     return new Promise(resolve => { 
      // We're using Angular Http provider to request the data, 
      // then on the response it'll map the JSON data to a parsed JS object. 
      // Next we process the data and resolve the promise wi new data. 
      this.http.get('/mobile/api/authentication') 
       .map(res => res.json()) 
       .subscribe(data => { 
        // we've got back the raw data, now generate the core schedule data 
        // and save the data for later reference 
        resolve(this.data); 
       }); 
     }); 
    } 
} 

だけ覚えておいてください:/mobile/api/authentication - ionic.config.jsonpathから>/mobileを。

+0

ありがとう、それはionic 2.0.1 – fifth

+0

@ vuhung3990 GlobalEnv、AuthBody、Headers、Languagesのようなものをグーグルで検索しても、あなたが使っているパッケージについての手がかりが得られないので、私はあなたのソリューションを完全に理解するのに苦労しています。私を啓発できますか?おそらくいくつかの輸入品を含んでいます。乾杯。 – JGFMK

+0

@JGFMKこんにちは、あなたは、GlobalEnv、AuthBody、ヘッダーの意味を知る必要はありません。それは私のカスタムコンポーネントです。私は答えを更新しました。 – vuhung3990

関連する問題