Javascript XHR访问github';s参与信息

Javascript XHR访问github';s参与信息,javascript,github,xmlhttprequest,Javascript,Github,Xmlhttprequest,我正在编写一个简单的小部件,它呈现一个画布参与图,就像github上的一样 它使用以下位置的数据:http://github.com/[用户]/[回购]/图表/参与 这个小部件工作得很好,基本上已经完成了。我唯一的问题是,当我试图通过XHR从上面的链接检索json数据时(而不是像以前那样复制和粘贴到小部件中),我遇到了相同的源访问控制问题 是否有任何方法可以访问这些信息,或者通过XHR或一些隐藏的github api功能?我相信github支持JSONP并通过它的。您还可以设置一个服务器端代理,

我正在编写一个简单的小部件,它呈现一个画布参与图,就像github上的一样

它使用以下位置的数据:http://github.com/[用户]/[回购]/图表/参与

这个小部件工作得很好,基本上已经完成了。我唯一的问题是,当我试图通过XHR从上面的链接检索json数据时(而不是像以前那样复制和粘贴到小部件中),我遇到了相同的源访问控制问题


是否有任何方法可以访问这些信息,或者通过XHR或一些隐藏的github api功能?

我相信github支持JSONP并通过它的。您还可以设置一个服务器端代理,通过该代理向同一个源页面发出XHR请求,然后该页面向Github发出服务器端请求


回答你关于代理的问题,是的,非常简单。大约两年前,我用Python和Tornado做过这件事。我知道这不是PHP,但它读起来非常接近英语,让你了解它是如何工作的。这个特殊的代理返回了一个原始的要点

# /proxy/gist
class GetGistHandler(BaseHandler):
    def get(self, id, filename):
        url = 'http://gist.github.com/raw/%s/%s' % (id, urllib.quote(filename))
        resp = urlfetch.fetch(url)
        self.finish(resp.content)
然后,它可以被消费的东西沿线的

$.ajax({
    url: '/proxy/gist',
    dataType: 'JSON',
    data: {
        id: $('#id').val(),
        filename: $('#filename').val()
    },
    success: function(json) {
        // ...
    }
});

你不能绕过这个客户端。您需要在代理服务器端创建一个代理服务器,所以对于代理交易,我只需要创建一个简单的php脚本,当使用XHR GET时,它将解释我添加的一些额外参数,指定目标github页面,执行请求,然后吐回结果?