2017-06-19 9 views
0

残りのAPIを使用してデータを取得したいとします。私は私のREST APIを渡していますが、それはすべてのボディは、上記のエラーを解決得るために私を助けて残りのAPIを使用しているときにエラーが発生する

>  Cross-Origin Request Blocked: The Same Origin Policy disallows reading 
    >  the remote resource at http://ip/JsonServices.php?action=getempdata. 
    >  This can be fixed by moving the resource to the same domain or 
    >  enabling CORS. 

     **Below is my code** 


    import { Injectable } from '@angular/core'; 
    import { Http ,Response} from '@angular/http'; 
    import 'rxjs/add/operator/map'; 

    @Injectable() 
    export class WebserviceProvider { 

     constructor(public http: Http) { 

     console.log('Hello WebserviceProvider Provider'); 

     } 

    getUser() { 


     return this.http.get('http://ip/JsonServices.php?action=getempdata') 

     .map((res:Response) => res.json()); 
     } 

    } 

エラーを示しますか?

答えて

1

クロスドメインの問題だと思います。
休憩サーバーと角度サーバーが同じサーバーの場合。 以下を試してください。

this.http.get('/JsonServices.php?action=getempdata') 

"ip"が外部サーバーの場合。 サーバーがCORSの応答ヘッダーに返信する必要があります

私はあなたのサーバーコードがわかりません。修正のイメージは以下の通りです。

w.Header().Add("Access-Control-Allow-Origin", "*") 
w.Header().Add("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept") 
w.Header().Add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS") 
+0

はい、クロスドメインの問題です。私は幸い私のipは上記の問題を提出することを使用しています –

+0

親切に私が上記のヘッダを統合する場所を教えてください。私はサーバーコードとしてPHPを使用しています、私はPHPのファイルにヘッダーコードを統合する必要があります。 –

+0

yep.youは、 'header( 'Access-Control-Allow-Origin:*');'のようにphobのabobeコードを再生成する必要があります。それをJsonServices.phpの上に置いてください。 –

関連する問題