如何从此网址读取访问令牌?当我尝试通过request.getParameter()
方法读取它时,它返回空值
http://localhost:8080/FirstPick/views/common/home.faces#access_token=xxxxxxxxxx&expires_in=4015
您不能像这样从查询字符串中读取任何参数。它必须包含“?”。只有出现在 '?' 之后的字符串 称为“查询字符串”。并从“QueryString”中获取值。你提到这里的网址,不包含“?” 所以它没有'QueryString'。并且您不能使用 request.getParameter() 方法。
除此以外,
哈希 (#) 之后的内容仅在客户端使用。如果您在服务器上需要该信息,您可以使用不同的分隔符和使用“?”的查询字符串,或者您可以在页面加载后通过 Ajax 提交它,方法是使用 JavaScript 在客户端读取它。
哈希 (#) 之后的 URI 部分永远不会发送到服务器,原因是哈希标识符最初设计为指向给定网页内的引用,而不是指向服务器上的新资源。
谢谢
在客户端(即来自 JavaScript),您可以检查 window.location.hash 以获取哈希。在服务器端,一般的答案是“不可能”,因为哈希没有在请求中发送到服务器。