没有& # 39;Access-Control-Allow-Origin& # 39;头文件,但无法访问API

No 'Access-Control-Allow-Origin' header but no access to API

本文关键字:API 访问 Access-Control-Allow-Origin 没有 文件      更新时间:2023-09-26

我试图使用英国议会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。

是使用服务器端"代理"将解决问题,因为Access-Control-Allow_Origin是为客户端调用

简单的PHP代码段

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