2016-06-06 5 views
0

위키 피 디아에서 사용자의 의견을 얻으려고합니다. 그러나 코드가 작동하지 않고 코드에서 오류를 파악할 수 없습니다.위키 피 디아 API를 사용하는 데 어려움이 있습니다.

<body> 
    <h1 class="text-center"> Wikipedia Viewer </h1> 


    <form class="col-lg-4 input-group" name="search" id="form"> 

    <input type="text" id="title" placeholder="Search title" class="form-control"> 

    <span class="input-group-btn"> 
     <button type="button" class="btn btn-secondary" id="btn">Go!</button> 
    </span> 
    </form> 


    <div id="result"> 

    </div> 
</body> 

당신은 그것을 here을 확인할 수 있습니다 여기에

var wResult = document.getElementById("result"); 
var summary, articleTitle, apiUrl; 
function getResult(){ 
var inputTitle = document.getElementById("title").value; 

apiUrl = "https://en.wikipedia.org/w/api.php?action=query&format=json&list=search&indexpageids=1&redirects=1&formatversion=latest&srsearch="+inputTitle+"&srlimit=10"; 

    $.getJSON(apiUrl, function(response){ 
summary = response.query.search[0].snippet; 
    wResult.innerHTML = summary; 
    }); 

} 
var inputBtn = document.getElementById("btn"); 
inputBtn.addEventListener("click", getResult); 

는 HTML 코드입니다.

+1

오류 메시지 : * XMLHttpRequest는 https://en.wikipedia.org/w/api.php?action=query&format=json&list=search&indexpageids=1&redirects=1&formatversion=latest&srsearch=duck&srlimit=10을로드 할 수 없습니다. 'Access-Control-Allow-Origin'헤더가 요청 된 리소스에 없습니다. 따라서 Origin 'https://fiddle.jshell.net'은 액세스 할 수 없습니다. * – Quentin

+0

@Quentin Answer에서 자세히 설명한 MediaWiki API에 액세스하기위한 구체적인 해결 방법이 있습니다. – duskwuff

+0

Quentin의 설명을 명확히하기 위해 브라우저는 오류를 알려주지 만 직접 찾아야합니다 (페이지에는 인쇄되지 않습니다). 크롬에서는 (어떤 브라우저를 사용하는지 모르지만 현재는 모두가 Chrome을 사용하고 있음) F12를 누르고 '콘솔'과 '네트워크'를 클릭하면됩니다. –

답변

0

MediaWiki API에 도메인 간 요청을하려면 format=jsonp을 사용하거나 적절한 origin 매개 변수를 API에 전달해야합니다. 자세한 내용은 의 MediaWiki 설명서를 참조하십시오.

+0

api url 끝에'& callback =? '을 추가하여 문제를 해결했습니다. – Abk

+0

@ user3186314 FYI, JSONP를 활성화하는 jQuery 구문입니다. –