2014-07-24 7 views
0

나는 영국 의회 API를 사용하기 위해 노력하고있어하지만 난이 오류를 때리는거야 액세스 할 수 없음 :없음 '액세스 제어 - 허용 - 원산지'헤더하지만 API

XMLHttpRequest cannot load http://findyourmp.parliament.uk/api/search?q=london&f=js . No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' http://example.com ' is therefore not allowed access.

나는 그것이 무엇을 의미하는지 알고, JSONP 옵션이 없으며 의회의 API를 편집 할 수 없습니다. 이 문제를 어떻게 해결할 수 있습니까? 액세스를 허용하거나 문제를 해결하지 못하도록 내 서버에서 PHP 파일을 통해 요청을 라우팅 할 수 있습니까? 여기

내 코드입니다 :

var search_term = $('#input').val(); 
var url = 'http://findyourmp.parliament.uk/api/search?q=' + search_term + '&f=js'; 

$.getJSON(url, function(jd) { 
    $('#div').html('<p>Constituency: ' + jd.constituency_name + '</p>'); 
}); 

편집

API here.

+0

나는 PHP를 통해 라우팅하는 것이 효과가 있다고 생각하지 않습니다. 확실하지. 보안상의 이유로이 문제를 해결할 수 있다고 생각하지 않습니다. – War10ck

+0

@ War10ck 답장을 보내 주셔서 감사합니다. 이 문제를 해결할 생각이 없다면 API를 사용하는 것이 무엇입니까? – Sebastian

+1

@Sebastian은 공개 API입니까? –

답변

1

액세스 제어-Allow_Origin 클라이언트 측에 대한 한, 서버 측 "프록시"문제를 해결할 사용 전화

간단한 PHP 코드

$search_term = "find"; 
$url = "http://findyourmp.parliament.uk/api/search?q=".$search_term."&f=js"; 
return file_get_contents($url); 
관련 문제