2012-12-26 63 views
0

如何从此URL读取访问令牌?当我尝试通过request.getParameter()方法来读这则返回空值如何从url中读取参数包含'#'而不是'?'

http://localhost:8080/FirstPick/views/common/home.faces#access_token=xxxxxxxxxx&expires_in=4015

+2

散列(#后面)没有发送到服务器。你可以使用JavaScript(AJAX)发送它 – galchen

回答

2

除此之外,井号(#)后

内容仅被在客户端使用。如果你在服务器上需要这些信息,你可以使用不同的分隔符来查询字符串,使用'?',或者你可以在页面加载完成后通过在客户端上用JavaScript读取它来提交。

散列(#)之后的URI部分永远不会发送到服务器,原因是散列标识最初设计为指向给定网页中的引用,而不指向服务器上的新资源。

谢谢

0

在客户端(即从JavaScript),你可以检查window.location.hash获得哈希值。在服务器端,一般的答案是'这是不可能的',因为散列不会发送到服务器的请求中。

2

你不能从查询字符串读取任何参数像这样.. 它必须包含'?'。 只有在'?'后出现的字符串被称为'QueryString'。 和'QueryString'你可以得到这个值。 你在这里找到网址,是不是包含'?'所以它没有'QueryString'。 和你不能使用request.getParameter()方法。

相关问题