隐藏Url中的参数

Posted zhumengke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了隐藏Url中的参数相关的知识,希望对你有一定的参考价值。

动态网页中怎么隐藏url参数传递

转自:https://www.cnblogs.com/limeiky/p/6202358.html

   我们在做动态网站的时候往往会在各个页面之间传递参数,而这些参数的名称和值都会在url地址栏中被暴露出来,这样一方面不安全,另一方面也不便于搜索引擎的收录,有的时候还有可能由于参数中含有中文而导致某些浏览器会出错(我发现在Firefox浏览器中用get方式传递中文参数时会出错)。所以我们有必要隐藏url参数传递,具体方法请看下面具体介绍。

  隐藏url参数传递,思路是用表单来传递参数,把参数的值放在表单中,并把表单设为隐藏,然后用超链接来触发表单事件,从而把参数以post方式传递给另一个页面。

  (1) 例: html文件为传递参数的页面,具体代码如下:

<form name="form1" method="post" action="a.action"> 
  <input type="hidden" name="data1" value="http://www.htmer.com" /> 
  <input type="hidden" name="data2" value="11" /> 
</form> 
<a href="javascript:void(0)" onclick="form1.submit()">HTMer隐藏url参数传递</a>

  

    说明:上面的代码中建立了一个名为htmer的表单,表单提交的页面为htmer.asp,这个表单中有两个隐藏域,分别名为data1和data2,我们的目的是将这两个隐藏域的值传递到htmer.asp页面中,上面代码中最关键的代码是最后一行,原理是用超链接来触发表单的submit提交事件。

  (2) 例:最终的代码如下,希望对别人有点帮助。

<form name="form1" method="post" action="a.action"> 
  <input type="hidden" name="submit" value="1"> 
  <input type="submit" name="test" value = "go" style="display:none">  //隐藏一个按钮
  <a href="javascript:void(0)" onclick="javascript:document.form1.test.click();">测试主页 </a>
</form> 


事实上,点击超链接之后,触发了点击按钮的动作,按钮提交了表单!

转自:https://www.cnblogs.com/limeiky/p/6202358.html

   我们在做动态网站的时候往往会在各个页面之间传递参数,而这些参数的名称和值都会在url地址栏中被暴露出来,这样一方面不安全,另一方面也不便于搜索引擎的收录,有的时候还有可能由于参数中含有中文而导致某些浏览器会出错(我发现在Firefox浏览器中用get方式传递中文参数时会出错)。所以我们有必要隐藏url参数传递,具体方法请看下面具体介绍。

  隐藏url参数传递,思路是用表单来传递参数,把参数的值放在表单中,并把表单设为隐藏,然后用超链接来触发表单事件,从而把参数以post方式传递给另一个页面。

  (1) 例: html文件为传递参数的页面,具体代码如下:

<form name="form1" method="post" action="a.action"> 
  <input type="hidden" name="data1" value="http://www.htmer.com" /> 
  <input type="hidden" name="data2" value="11" /> 
</form> 
<a href="javascript:void(0)" onclick="form1.submit()">HTMer隐藏url参数传递</a>

  

    说明:上面的代码中建立了一个名为htmer的表单,表单提交的页面为htmer.asp,这个表单中有两个隐藏域,分别名为data1和data2,我们的目的是将这两个隐藏域的值传递到htmer.asp页面中,上面代码中最关键的代码是最后一行,原理是用超链接来触发表单的submit提交事件。

  (2) 例:最终的代码如下,希望对别人有点帮助。

<form name="form1" method="post" action="a.action"> 
  <input type="hidden" name="submit" value="1"> 
  <input type="submit" name="test" value = "go" style="display:none">  //隐藏一个按钮
  <a href="javascript:void(0)" onclick="javascript:document.form1.test.click();">测试主页 </a>
</form> 


事实上,点击超链接之后,触发了点击按钮的动作,按钮提交了表单!

JavaScript:隐藏Url中的参数

转自:https://www.cnblogs.com/Cchblogs/p/6024012.html

<script type="text/javascript">
function submitForm(url, data)
{
  var eleForm = document.body.appendChild(document.createElement(‘form‘));
  eleForm.action = url;
  for (var property in data)
  {
    var hiddenInput = document.createElement(‘input‘);
    hiddenInput.type = ‘hidden‘;
    hiddenInput.name = property;
    hiddenInput.value = data[property];
    eleForm.appendChild(hiddenInput);
  }
  this.eleForm = eleForm;
  if (!submitForm._initialized)
  {
    submitForm.prototype.post = function ()
     {
      this.eleForm.method = ‘post‘;
      this.eleForm.submit();
    };
  submitForm._initialized = true;
  }
}
 
function Onclick()
{
  //location.href = "/Activity/ActivityInformation?a_id=" + "1"; // Url中会带有参数
  new submitForm(‘/Activity/ActivityInformation‘, { a_id: "1" }).post(); // Url中的参数被隐藏
}
</script>

  

以上是关于隐藏Url中的参数的主要内容,如果未能解决你的问题,请参考以下文章

如何清除片段中的参数?

隐藏Url中的参数

JavaScript隐藏Url中的参数

Symfony2 将哈希片段参数附加到分页 URL

Laravel:如何隐藏 url 参数?

滚动选项卡中的片段时隐藏/显示工具栏