我有以下代码:
xmlhttp.open("GET", "https://raw.githubusercontent.com/Lemony-Andrew/SFML-Game-Engine/master/README",true);
xmlhttp.send();
它只是从github检索自述文件页面,但被拒绝访问。我怎样才能合并"或从github加载基本自述文件(或描述)?就像在Careers 2.0中看到的那样,它显示了项目创建的日期和描述的片段。
有可能吗?
如果您想看到它,则错误:
XMLHttpRequest无法加载 https://raw.githubusercontent.com/Lemony-Andrew/SFML-Game-Engine/master/README。 ' Access-Control-Allow-Origin' header有一个值 ' https://render.githubusercontent.com'这不等于 提供原产地。起源' https://c9.io'因此是不允许的 访问。
答案 0 :(得分:5)
您无法发出跨域请求。但是,现代浏览器支持CORS,一些可爱的人已经为GitHub内容设置了一个heroku代理......所以在现代浏览器中,以下内容将起作用:
var xmlhttp;
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET", "http://github-raw-cors-proxy.herokuapp.com/Lemony-Andrew/SFML-Game-Engine/master/README",true);
xmlhttp.send();
更好的解决方案是在同一个域上自己编写代理,然后调用GitHub。这将适用于较旧的浏览器,您不会依赖其他人的服务。
以下是CORS的当前浏览器支持矩阵:http://caniuse.com/#search=cors