无法获取查询字符串值

时间:2017-11-15 20:45:18

标签: vb.net

每当我点击此URL时,获取vToken就不算​​什么了。请协助

Dim vHDR As String = Nothing
If Request.IsLocal Then 
     Dim vToken = Request.QueryString("approvalToken")
     If Not vToken Is Nothing Then
         Dim vUser = Helper.ValidateToken(vToken)
         If Not vUser Is Nothing Then
              vHDR = vUser
          End If
      End If
 End If

网址:

http://localhost:56979/#/modules/Review?ID=20582&approvalToken=SIsJ3swuGjpPidOvWPSzuqfcTJH8IywIlVVEnkmIQU6yE93PUQ

1 个答案:

答案 0 :(得分:0)

在网址中,以井号(#)开头的所有内容都称为Fragment Identifier。片段标识符部分是URL的 last 部分, url参数之后。

所以对于这个问题的网址:

http://localhost:56979/#/modules/Review?ID=20582&approvalToken=SIsJ3swuGjpPidOvWPSzuqfcTJH8IywIlVVEnkmIQU6yE93PUQ

没有查询字符串。看起来像查询字符串的部分被抢占为非常长的片段标识符的一部分。即使看起来像Path的一部分的/modules/Review部分实际上也是片段的一部分。

我怀疑你的基础/索引页面中有一个带有空白href值的链接,有时用单个散列表示#)。您单击该链接,将哈希符号放入URL:

http://localhost:56979/#

点击此链接后,您可以重定向,点击新链接,或执行其他操作,将相对网址 /modules/Review(可能已包含查询字符串)添加到您的当前位置。但是现在你将哈希符号作为现有位置的一部分,所以你最终得到你问题中的网址,这并不意味着你想要的意思。

我必须看到更多的代码来告诉你如何解决这个问题,但是在vb.net(asp.net)的上下文中,如果这个代码在服务器上运行,你可能想要更改{{ 1}}到/modules/Review。如果这是在javascript中完成的,我需要了解有关您网页的更多信息。