我正在Github页面上托管一些JSON文件,但我无法使用$.getJSON
来检索它们,除非它们来自完全相同的域。
有没有办法为Github页面启用CORS?
答案 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)
}