Я изо всех сил пытаюсь добавить параметр в URL-адрес при нажатии кнопки. Итак, на СТРАНИЦЕ 1 при нажатии кнопки выполняется перенаправление на СТРАНИЦУ 2 и добавляется параметр к URL-адресу СТРАНИЦЫ 2.
Параметр должен быть последней частью URL-адреса СТРАНИЦЫ 1:
PAGE 1 url: page.com/page1/food -> food должен быть параметром, добавляемым на СТРАНИЦУ 2 при нажатии кнопки
СТРАНИЦА 2 url: page.com/page2 -> Добавить параметр к этому URL
Я пытался сделать это, но не могу понять, как передать параметр со СТРАНИЦЫ 1 на СТРАНИЦУ 2 при нажатии кнопки
Не могли бы вы изменить структуру URL? Имеет смысл поместить страницу последней, так что page.com/food/2
, тогда поправить несложно.
@RoryMcCrossan СТРАНИЦА 2 - это еще одна часть веб-сайта с множеством дочерних страниц на ней, поэтому ее нельзя переместить на СТРАНИЦУ 1.
ты не можешь просто использовать якорь?
<a href = "page.com/page2/food">
Вы можете использовать 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.
Вы не указали код нажатия кнопки в вопросе. Итак, я предполагаю, что может быть два способа перенаправления на другую страницу;
Вы можете добавить кнопку и написать функцию щелчка для перенаправления;
<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>
Вы также можете добавить тег привязки для перенаправления;
<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>
Можете ли вы предоставить код, который вы пробовали до сих пор?