0

如何从此网址读取访问令牌?当我尝试通过request.getParameter()方法读取它时,它返回空值

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

4

3 回答 3

2

您不能像这样从查询字符串中读取任何参数。它必须包含“?”。只有出现在 '?' 之后的字符串 称为“查询字符串”。并从“QueryString”中获取值。你提到这里的网址,不包含“?” 所以它没有'QueryString'。并且您不能使用 request.getParameter() 方法。

于 2012-12-26T10:05:33.067 回答
2

除此以外,

哈希 (#) 之后的内容仅在客户端使用。如果您在服务器上需要该信息,您可以使用不同的分隔符和使用“?”的查询字符串,或者您可以在页面加载后通过 Ajax 提交它,方法是使用 JavaScript 在客户端读取它。

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

谢谢

于 2012-12-26T10:25:06.127 回答
0

在客户端(即来自 JavaScript),您可以检查 window.location.hash 以获取哈希。在服务器端,一般的答案是“不可能”,因为哈希没有在请求中发送到服务器。

于 2012-12-26T10:04:52.397 回答