在重定向上添加参数

时间:2018-12-17 09:56:19

标签: javascript jquery

单击按钮时,我很难为URL添加参数。 因此,在PAGE 1中,单击按钮后,它将重定向到PAGE 2,并向PAGE 2的URL添加一个参数

该参数应为PAGE 1网址的最后一部分:

第1页网址:page.com/page1/food->点击按钮后,food应该是添加到第2页的参数

第2页网址:page.com/page2->向该网址添加参数

我一直在尝试这样做,但是我无法弄清楚如何在单击按钮时将参数从PAGE 1传递到PAGE 2

2 个答案:

答案 0 :(得分:1)

您可以通过JS轻松获取URL。

您尚未在问题中提供按钮点击代码。所以我假设有两种方法可以重定向到另一个页面;

  1. 您可以添加按钮并编写单击功能以进行重定向;

    <button onclick="redirect()"> Go To Page 2 </button>
    <script>
    function redirect()
    {
        var currentUrl = window.location.href;
        var parts = currentUrl.split("/");
        var param = parts[parts.length() -  1];
        window.location.hef = page2_url + "/" + param;
    }
    </script>
    
  2. 您还可以添加锚标记以进行重定向;

    <a href="page2_url" id="redirectlink"> Button </a>
    <script>
      (function(){
          var currentUrl = window.location.href;
          var parts = currentUrl.split("/");
          var param = parts[parts.length() -  1];
    
          $("#redirectlink").attr("href", "page2_url" + "/" + param)
     })()
    </script>
    

答案 1 :(得分:0)

您可以使用window.location.href来获取您所在页面的当前URL。这将被存储为字符串。然后,您可以使用.split('/')将字符串转换为参数数组(每个索引根据/进行拆分)。

例如:

"page.com/page1/food".split('/')

将产生:

const params = ["page.com", "page1", "food"]

要获取此数组的最后一个元素,可以使用params.length-1作为索引,然后将此检索到的值附加到重定向页面的末尾。要重定向,请将window.location.href设置为新网址。

请参见下面的工作示例:

$('#redirect').click(function() {
  const url = window.location.href; // 'https://stacksnippets.net/js'
  const params = url.split('/'); // ['https', '', 'stacksnippets.net', 'js']
  const parameter = params[params.length-1]; // 'js'
  
  const page2 = "https://www.example.com/" +parameter; // 'https://www.example.com/js'
  alert("Going to new page: " +page2);
  window.location.href = page2 // Go to page2 url
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="redirect">Click me</button>