【问题标题】:Hide url parameters in javascript在javascript中隐藏url参数
【发布时间】:2014-02-05 14:57:12
【问题描述】:

我正在使用这个:

document.location ='my different asp.net page?=myparams'

有没有办法隐藏浏览器上显示的 URL 中的参数值?

我知道我可以使用隐藏的表单值,并且我知道我可以加密这些值(如果这里没有乐趣我会这样做)。

有没有更简单、更整洁的方法?也许通过 JQuery。

【问题讨论】:

  • 目的是什么?您是在告诉用户请求某些内容,为什么他们可以看到请求的内容很重要?
  • 您可以从 JS (location.search = params) 中设置参数,但这会在 url 栏中显示参数。据我所知,实际上并没有“发布”参数的方法。
  • 如果您不想传递查询字符串中的值,则不能使用 GET 请求。
  • 用 JS 做这个听起来很乱。请看这里的方法一:weblogs.asp.net/scottgu/archive/2007/02/26/…
  • @Quentin 您好,感谢您的评论。我实际上同意你的看法。这不应该是一个问题。我通常使用会话对象,但事实上 session_end 并不能保证触发我需要找到另一种机制来使用。通过查询字符串传递值,我可以负担得起使用会话对象。我对隐藏查询字符串的追求只是一种习惯,想知道这是否可能

标签: javascript jquery query-string


【解决方案1】:

如果您只是想在浏览器的地址栏中隐藏 url 参数,那么您可以使用 iframe

【讨论】:

  • 这是一个整页 iFrame 的sample
【解决方案2】:

一种解决方案是将 document.location 设置为第二个页面,该页面将参数值保存在会话变量中并重定向到您想要的页面。

document.location = "redirectpage.php?param=value"

在redirectpage.php中

$_SESSION['param']=$_GET['param]; header('位置:' .desired_pa​​ge?param=value);

这样,param 的值只会在redirectpage.php 重定向到想要的页面时在很短的时间内显示出来。

希望对你有帮助

顺便说一句,你能解释一下隐藏表单在这种情况下是如何工作的吗?

【讨论】:

  • 您好,感谢您的信息。我从未实现过隐藏表单。我听说这是一个可能的解决方案。非常感谢您的宝贵时间:)
猜你喜欢
  • 1970-01-01
  • 2012-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多