2017-12-29 38 views
-1

午前;Apigee + Angular No 'Access-Control-Allow-Origin'ヘッダーが要求されたリソースに存在します

多分この質問は100回前に聞かれましたが、本当に解決できません。 OPTIONSリクエストに応答するApigeeにこの設定があります。クライアント側で

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<AssignMessage async="false" continueOnError="false" enabled="true" name="AM-AddCors"> 
    <DisplayName>AM-AddCors</DisplayName> 
    <Properties/> 
    <Add> 
     <Headers> 
      <Header name="Access-Control-Allow-Origin">*</Header> 
      <Header name="Access-Control-Allow-Headers">Content-Length, Content-Disposition, Origin, x-requested-with, Accept, Content-Type, Authorization</Header> 
      <Header name="Access-Control-Max-Age">3628800</Header> 
      <Header name="Access-Control-Allow-Methods">GET, PUT, POST, DELETE</Header> 
     </Headers> 
    </Add> 
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> 
    <AssignTo createNew="false" transport="http" type="request"/> 
</AssignMessage> 

私は角度で、この呼び出しを行う(のHttpClient)

public downloadS2Report(url) { 
    let headers = new HttpHeaders(); 
    let fullurl = environment.config.fundsApi.concat(url); 
    headers = headers.set("Authorization", "Bearer *****"); 
    return this.http.get(fullurl, {headers: headers}) 
     .map((response:any) => { 
     if (response.status == 200) { 
      var contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; 
      var blob = new Blob([(<any>response)._body], {type: contentType}); 
      return blob; 
     }  
     }); 
    } 

私はクロームでデバッグビューで結果を見ることができますが、私は角「アクセス・コントロールで有名なエラーが発生しました-Allow-Originのヘッダーは要求されたリソースに存在します "。私はApigeeの設定でparamsが欠けていますか?

enter image description here

enter image description here

enter image description here

+0

可能性のある重複した[角度2アプリではありません「アクセス制御 - 許可 - 起源」ヘッダ](https://stackoverflow.com/questions/36002493/no-アクセス制御許可元ヘッダーイン角度2アプリ) – georgeawg

答えて

2

あなたはすべての応答だけでなく、OPTIONS飛行前のリクエストに応じて、関連するCORSヘッダで応答する必要があります。だから、あなたはまた、必要なあなたのGET応答に:の

<Headers> 
     <Header name="Access-Control-Allow-Origin">*</Header> 
     <Header name="Access-Control-Allow-Headers">Content-Length, Content-Disposition, Origin, x-requested-with, Accept, Content-Type, Authorization</Header> 
     <Header name="Access-Control-Max-Age">3628800</Header> 
     <Header name="Access-Control-Allow-Methods">GET, PUT, POST, DELETE</Header> 
    </Headers> 
+0

ありがとう私はすべての呼び出しでこのパラメータで応答したことを知らなかった –

関連する問題