我用PHP开发了一个web应用程序来列出我硬盘上的所有电影。我找到了一个网站http://www.deanclatworthy.com/imdb/,它提供了IMDB API。现在我需要用一些参数向这个URL发出请求。但是由于这个跨站点请求,我无法成功获得响应。
是否有任何方法来利用这个API?
我在本地运行我的应用程序。我在Firefox和Chrome上都测试了,得到了一个Access-Control-Allow-Origin
错误。
也许代理请求到本地服务器端php脚本使用套接字,然后中继数据回您的JavaScript?
您想要使用的API支持JSON作为响应类型。这意味着您可以很容易地用Javascript从这个API获取数据。下面是一个示例代码(使用jQuery),应该为您工作-
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<script type="text/javascript">
function imdbapi(data){
var items = [];
$.each(data, function(key, val) {
items.push('<li>' + key + "=>" + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
}
$(document).ready(function(){
$.ajax({
url: 'http://www.deanclatworthy.com/imdb/?q=Star+Trek&type=jsonp',
dataType: 'jsonp'
});
});
</script>
</body>
</html>