Добавить параметр при перенаправлении

Я изо всех сил пытаюсь добавить параметр в URL-адрес при нажатии кнопки. Итак, на СТРАНИЦЕ 1 при нажатии кнопки выполняется перенаправление на СТРАНИЦУ 2 и добавляется параметр к URL-адресу СТРАНИЦЫ 2.

Параметр должен быть последней частью URL-адреса СТРАНИЦЫ 1:

PAGE 1 url: page.com/page1/food -> food должен быть параметром, добавляемым на СТРАНИЦУ 2 при нажатии кнопки

СТРАНИЦА 2 url: page.com/page2 -> Добавить параметр к этому URL

Я пытался сделать это, но не могу понять, как передать параметр со СТРАНИЦЫ 1 на СТРАНИЦУ 2 при нажатии кнопки

Можете ли вы предоставить код, который вы пробовали до сих пор?

Nick Parsons 17.12.2018 10:58

Не могли бы вы изменить структуру URL? Имеет смысл поместить страницу последней, так что page.com/food/2, тогда поправить несложно.

Rory McCrossan 17.12.2018 10:59

@RoryMcCrossan СТРАНИЦА 2 - это еще одна часть веб-сайта с множеством дочерних страниц на ней, поэтому ее нельзя переместить на СТРАНИЦУ 1.

john285 17.12.2018 11:00

ты не можешь просто использовать якорь?

Pete 17.12.2018 11:06
<a href = "page.com/page2/food">
Pete 17.12.2018 11:11
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
5
2 844
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать window.location.href, чтобы получить текущий URL страницы, на которой вы находитесь. Это будет сохранено в виде строки. Затем вы можете использовать .split('/'), чтобы превратить вашу строку в массив параметров (где каждый индекс разбивается на основе /).

Например:

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

даст:

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

Чтобы получить последний элемент этого массива, вы можете использовать params.length-1 в качестве индекса, а затем добавить это полученное значение в конец вашей перенаправленной страницы. Для перенаправления вы установите window.location.href равным новому URL-адресу.

См. Рабочий пример ниже:

$('#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>

Вы можете легко получить URL-адрес через JS.

Вы не указали код нажатия кнопки в вопросе. Итак, я предполагаю, что может быть два способа перенаправления на другую страницу;

  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>
    

Другие вопросы по теме