2013-09-26 60 views
1

我想用JavaScript访问Github API,并且在处理access_token响应时遇到了一些麻烦。 这里是我的callback.html代码:JSONP和Github API v3的问题

<script type="text/javascript"> 
var code = window.location.search.substring(6); 
var cb = function(data) { 
    console.log(data); 
} 

var scriptTag = document.createElement("SCRIPT"); 
scriptTag.src = "https://github.com/login/oauth/access_token?client_id=MY_CLIENT_ID&client_secret=MY_CLIENT_SECRET&code="+code+"&format=json&callback=cb"; 
document.getElementsByTagName('HEAD')[0].appendChild(scriptTag); 
</script> 

我在Chrome得到这个错误:

Uncaught SyntaxError: Unexpected token : 

我得到这个错误的Firefox:

SyntaxError: invalid label 

如果我手动打开链接,我可以看到, github的回应是正确的:

{"access_token":"*********","token_type":"bearer"} 

有什么想法?

回答

1

您的脚本来源错误。它应该是:

scriptTag.src = "https://github.com/login/oauth/access_token?client_id=MY_CLIENT_ID&client_secret=MY_CLIENT_SECRET&code="+code+"&format=json&callback=cb"; 

以前你只有https:github.com,而不是https://github.com

+0

哇,你是对的。我不认为这是相关的,因为我仍然得到错误。 – user2817499