No' Access-Control-Allow-Origin'标题但无法访问API

时间:2014-07-24 15:44:02

标签: javascript jquery json api

我正在尝试使用英国议会API,但我遇到了这个错误:

  

XMLHttpRequest无法加载http://findyourmp.parliament.uk/api/search?q=london&f=js。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://example.com”访问。

我知道这意味着什么,但是没有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.

1 个答案:

答案 0 :(得分:1)

是的,使用服务器端“代理”可以解决问题,因为客户端呼叫的访问控制允许原点是

简单的php片段

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