0

我正在使用google api,在url中我得到这样的:

http://website.com/generate-token/#access_token=ya29.AHES6ZTJwb9lzb0lua81oHa47-8ImcJf-8qE-02kIn8JcgEv&token_type=Bearer&expires_in=3600

我试过:

$_SERVER['QUERY_STRING']
$url =  "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

但我得到的是http://website.com/generate-token/

我怎样才能获得完整的 url 并使用正则表达式来获取 access_token 或任何其他我可以获得它的方式?

4

1 回答 1

0

我的两分钱(因为你用 jQuery 标记了它,我想 Javascript 是一个有效的解决方案):

var url = 'http://website.com/generate-token/
           #access_token=ya29.AHES6ZTJwb9lzb0lua81oHa47-8ImcJf-8qE-
           02kIn8JcgEv&token_type=Bearer&expires_in=3600';

function getParameterByName(name, url) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&#]" + name + "=([^&#]*)"),
        results = regex.exec(url);
    return results == null ? "" : 
           decodeURIComponent(results[1].replace(/\+/g, " "));
}

alert(getParameterByName('access_token', url));

http://jsfiddle.net/yejwF/

于 2013-10-30T13:30:41.587 回答