问题
I'm hosting some JSON files on Github pages, but I am unable to use $.getJSON
to retrieve them unless they come from the exact same domain.
Is there a way to enable CORS for Github pages?
回答1:
As a workaround one can use JSONP, but it's still slightly a pain because the files are static, and each one will need a unique callback method.
Another alternative would be to store the files in Gists and use the Github API which works with CORS.
A third possibility is to not store the files on Github pages and instead host them on an S3/Cloudfront distribution with CORS enabled.
回答2:
Github Pages now has CORS enabled.
The CORS header:
Access-Control-Allow-Origin: *
Is added by default on all responses from Github pages!
回答3:
It's possible with the API, but it has a limit...
"For requests using Basic Authentication or OAuth, you can make up to 5,000 requests per hour. For unauthenticated requests, the rate limit allows you to make up to 60 requests per hour. Unauthenticated requests are associated with your IP address, and not the user making requests."
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)
}
来源:https://stackoverflow.com/questions/18923328/is-there-a-way-to-enable-cors-on-github-pages