【问题标题】:Using an API cross domain to get XML使用 API 跨域获取 XML
【发布时间】:2014-04-17 12:14:55
【问题描述】:

我正在尝试从 cdn.animenewsnetwork.com 获取数据,与 API 有关的信息是 here。我将如何使用 jQuery 访问它?

当我在域上的 chrome 控制台中时,就这么简单:

$.ajax({
    type: "GET",
    url: "http://cdn.animenewsnetwork.com/encyclopedia/api.xml?title=~jin",
    dataType: 'xml',
    success: function(responseXML){
        console.log(responseXML);
    },
       error:function(results){
        console.log(results);
    }
});

我知道使用dataType: 'jsonp' 的技巧,但这不适用于此xml。我将如何克服这个问题?

【问题讨论】:

    标签: jquery xml cross-domain xss


    【解决方案1】:

    简而言之,除非 API 支持 CORS 或 JSONP,否则您必须通过您控制的服务器代理内容。 API 文档没有提到 JSONP 或 CORS 支持,因此很可能不支持。

    【讨论】:

    • 如果不支持,那么他们如何期望任何人获取数据?你提到的方式?
    • 如果不支持,那么他们可能只希望从另一台服务器调用 API。
    • 奇数。他们说它是为程序员准备的,但我不会想像不得不这样做那样麻烦。您对代理有什么建议,也许是教程?
    • 您需要设置一个服务器并编写一些代码(使用您熟悉的任何语言)。您基于浏览器的 ajax 请求将需要委托给您的服务器,该服务器将在您的问题中调用 API,并将结果返回给您在浏览器中运行的应用程序。就浏览器而言,您的服务器将是 API。
    猜你喜欢
    • 2012-09-23
    • 2011-03-05
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    相关资源
    最近更新 更多