2017-12-09 27 views
1

나는 reactJS에서 axios를 사용하여 Wikipedia API에서 데이터를 가져 오려고합니다. 그런 다음위키 피 디아 API 응답에서 CORS 헤더 'Access-Control-Allow-Origin'이 누락되었습니다.

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://en.wikipedia.org/w/api.php?action=opensearch&search=lol&format=json&callback= ?. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

나는 내 시작 스크립트를 변경 :

HTTPS=true yarn start 

내 서버가 HTTPS로 시작했지만 오류가 계속 이 내 GET 요청

axios.get('https://en.wikipedia.org/w/api.php?action=opensearch&search=lol&format=json&callback=?') 
    .then((response) => { 
     console.log(response); 
    }) 
    .catch((error)=>{ 
     console.log(error); 

    }); 

나는이 오류를 가지고있다 . 다른 스레드에서 제안 된대로 jsonp로 json을 변경하려고 시도했지만 도움이되지 않습니다.

+0

위키 피 디아 API가 CORS를 지원합니까, 아니면 JSONP 만 사용할 수 있습니까? (https://stackoverflow.com/questions/37106041/does-wikipedia-api-support-cors-or-only-jsonp-available) – Tgr

답변

2

당신은 위키 백과 API 쿼리 매개 변수에 origin=*를 추가해야합니다 배경에 대한

axios.get('https://en.wikipedia.org/w/api.php?origin=*&action=opensearch&search=lol') 
 
    .then((response) => { 
 
     console.log(response); 
 
    }) 
 
    .catch((error)=>{ 
 
     console.log(error); 
 
    });
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

Does Wikipedia API support CORS or only JSONP available?에 대답을 참조하십시오.