我正在编写一个简单的小部件,它会像github上的那个一样呈现画布参与图。
它使用http://github.com/ [user] / [repo] / graphs / participation
中的数据小部件效果很好,基本上完成了。我遇到的唯一问题是当我尝试通过XHR从上面的链接中检索json数据时(而不是像以前一样复制和粘贴到小部件中),我遇到了相同的原始访问控制问题。
有没有办法可以通过XHR或一些隐藏的github api功能来访问这些信息?
答案 0 :(得分:1)
我相信Github通过其CORS支持JSONP和API。您还可以设置服务器端代理,通过该代理向同源页面发出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) {
// ...
}
});