2017-12-29 81 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> 

은 내가 크롬에서 디버그보기에서 결과를 볼 수 있습니다

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; 
     }  
     }); 
    } 

각도이 전화를 (HttpClient를) 만들하지만 난 각도 "액세스 제어로 유명한 오류가 발생했습니다 -Allow-Origin '헤더가 요청 된 자원에 있습니다. " Apigee 설정에서 params를 놓치고 있습니까? 당신은 모든 응답뿐 아니라 OPTIONS 비행 전 요청에 따라 관련 CORS 헤더 응답해야

enter image description here

+0

가능한 중복을 [아니오 '액세스 제어 - 허용 - 원산지'코너 2 응용 프로그램에서 헤더 (https://stackoverflow.com/questions/36002493/no- access-control-allow-origin-header-in-angle-2-app) – georgeawg

답변

2

enter image description here

enter image description here

. 그래서 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

모든 호출에서이 매개 변수로 응답했는지 알 수 없었습니다 –