处理来自challonge api的json

我正试图在Challonge Api的帮助下建立一个Power Rankings应用程序,但似乎JS只是在我检索json时不断向我发送错误。

测试现场

$(document).ready(function(){ $.ajax({ url: 'https://api.challonge.com/v1/tournaments/3j91s6g1/matches.json', type: 'GET', dataType: "jsonp", success: function (data) { // FOR TEST PURPOSE $.each(data, function(index, element) { $('body').append($('
', { text: element.name })); }); }, error : function(error){ console.log(error) } }); });

有任何想法吗?

我正在四处寻找关于Challonge API的东西,并偶然发现了这个问题,我想我会给你一个答案。

您遇到使用JavaScript的错误的原因是因为Challonge的API没有启用跨源请求。 为了防止网页使用Ajax请求从任何其他网站提取用户的数据,Web浏览器会检查其他网站,以查看是否可以通过查找跨源标头来发送请求。 如果您想了解更多信息,可以查看Wikipedia文章或其他讨论CORS(跨域资源共享)的网站。

我应该添加的另一件事是:您通常不希望与其他任何人共享您的API密钥,因为这与您的帐户直接相关。 您问题中URL的第一部分是您的用户名:密钥,这意味着发生这种情况的任何人都可以使用它来修改括号等。这实际上可能是为什么Challonge不允许使用CORS的原因; 人们不应该从JavaScript发送这些请求,因为它需要共享他们的API密钥(用户与网页,或网站所有者与用户)。

您还需要小心地将任意文本回显到网页。 我不知道Challonge的参与者名称限制,但它可能导致跨站点脚本漏洞 。

我刚刚决定使用php并且没有检索JSON的问题

 "; } ?>