10

Как выполнить редирект с помощью JavaScript?

8

Разделите свой вопрос так, чтобы его можно было понять. Например:


Вопрос: Как выполнить перенаправление на другую веб-страницу с помощью JavaScript?

Я пытаюсь реализовать перенаправление с одной веб-страницы на другую с использованием JavaScript, но сталкиваюсь с некоторыми проблемами. Использовал следующие подходы, но они не сработали так, как ожидалось.

Я хочу, чтобы пользователь, нажав на кнопку, был перенаправлен на указанную страницу. Как правильно это сделать?

Надеюсь на вашу помощь!

4 ответ(ов)

16

Для перенаправления на другую страницу вы можете использовать следующий код:

window.location = "http://www.yoururl.com";

Этот способ задаёт новое значение для window.location, тем самым инициируя переход на указанный URL.

0

Вы не можете напрямую перенаправить на функцию. Однако вы можете передать некоторый флаг в URL при редиректе, а затем на стороне сервера проверить этот флаг. Если он установлен, выполните нужную функцию.

Например:

document.location = "MyPage.php?action=DoThis";

Затем в вашем PHP-коде проверьте наличие параметра "action" в строке запроса. Если его значение равно "DoThis", выполните необходимую функцию:

if (isset($_GET['action']) && $_GET['action'] === 'DoThis') {
    // Вызов нужной функции
    yourFunction();
}

Таким образом, вы сможете управлять выполнением функции через значение в URL.

0

Если вы хотите симулировать нажатие на ссылку, используйте location.href.
Если же вы хотите симулировать HTTP редирект, используйте location.replace.

Вот пример:

// Похожее поведение на HTTP редирект
window.location.replace("http://stackoverflow.com");

// Похожее поведение на нажатие на ссылку
window.location.href = "http://stackoverflow.com";
0

Вам, возможно, нужно немного подробнее объяснить свой вопрос.

Когда вы говорите "перенаправление", для большинства людей это подразумевает изменение адреса HTML-страницы:

window.location = url;

Когда вы говорите "перенаправление на функцию" — это не совсем имеет смысл. Вы можете вызвать функцию или можете перенаправить на другую страницу.

Вы даже можете сделать перенаправление и вызвать функцию при загрузке новой страницы.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь