javascript - 没有 'Access-Control-Allow-Origin' header ,但无法访问 API

标签 javascript jquery json 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.

最佳答案

是的,使用服务器端“代理”可以解决问题,因为 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);

关于javascript - 没有 'Access-Control-Allow-Origin' header ,但无法访问 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24938277/

相关文章:

php - 引用和转义文本字符串建议

jquery - HTML - SELECT 标签的 OPTION 部分突出显示文本

javascript - 如何使用 iframe 制作 HTML 浏览器

javascript - 如何锁定页面上的 JavaScript 元素?

javascript - 如何在语义-ui react 中设置最小高度

javascript - AngularJS oauth 端点在 url 中带有哈希(SpotifyAPI)

javascript - 'Error: uncaught exception: Syntax error, unrecognized expression: [object Object]' 在 jQuery 中意味着什么?

javascript - 如何从纯 JavaScript 方法调用 AngularJS 过滤器

javascript - 如何遍历json数组

javascript - 每 60 秒刷新一次 JSON 存储 - EXT JS 4