有没有办法在Github页面上启用CORS?

时间:2013-09-20 18:18:49

标签: jsonp cors github-pages

我正在Github页面上托管一些JSON文件,但我无法使用$.getJSON来检索它们,除非它们来自完全相同的域。

有没有办法为Github页面启用CORS?

3 个答案:

答案 0 :(得分:13)

作为一种解决方法,可以使用JSONP,但它仍然有点痛苦,因为文件是静态的,每个文件都需要一个独特的回调方法。

另一种选择是将文件存储在Gists中并使用与CORS一起使用的Github API。

第三种可能性是不将文件存储在Github页面上,而是将它们托管在启用了CORS的S3 / Cloudfront发行版上。

答案 1 :(得分:9)

Github Pages现已启用CORS。

CORS标题:

Access-Control-Allow-Origin: *

默认情况下会添加来自Github页面的所有回复!

答案 2 :(得分:1)

可以使用API​​,但它有一个限制......

“对于使用基本身份验证或OAuth的请求,每小时最多可以发出5,000个请求。对于未经身份验证的请求,速率限制允许您每小时最多发出60个请求。未经身份验证的请求与您的IP地址相关联,并且不是用户提出请求。“

var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.github.com/repos/jimmywarting/diezyweb/contents/index.html?ref=gh-pages');
xhr.setRequestHeader("Accept", "application/vnd.github.3.raw");
xhr.send();

xhr.onload = function(e){
   alert(xhr.response)
}