我正在尝试使用英国议会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>');
});
修改
答案 0 :(得分:1)
是的,使用服务器端“代理”可以解决问题,因为客户端呼叫的访问控制允许原点是
简单的php片段
$search_term = "find";
$url = "http://findyourmp.parliament.uk/api/search?q=".$search_term."&f=js";
return file_get_contents($url);