访问基于URL的API

时间:2011-11-20 13:37:34

标签: api xmlhttprequest cross-domain

我用PHP开发了一个Web应用程序,列出了我硬盘中的所有电影。我找到了一个提供IMDB API的网站http://www.deanclatworthy.com/imdb/。现在我需要使用一些参数向此URL发出请求。但由于此跨站点请求,我无法成功获得响应。

有没有办法使用这个API?

我在localhost中运行我的应用程序。我在Firefox和Chrome中都进行了测试,发现Access-Control-Allow-Origin错误。

感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

可能使用套接字将请求代理到本地服务器端php脚本,然后将数据转发回JavaScript?

答案 1 :(得分:0)

您要使用的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>