#javascript
#javascript
Вопрос:
Итак, я новичок в JS, и я хочу перенаправить пользователя на другую страницу…
Мой код:
// Below function Executes on click of login button.
function validate() {
redirectTo =
window.location.protocol window.location.host "/dashboard.html";
var username = document.getElementById("userName").value;
var password = document.getElementById("passWord").value;
if (username == "admin" amp;amp; password == "password") {
window.location = redirectTo; // Redirecting to other page.
return false;
} else {
alert("NANI!!!");
}
}
Я знаю, что это небезопасный способ аутентификации, но расслабьтесь, это всего лишь проект портфолио
Комментарии:
1. Вы получаете какие-либо ошибки при попытке
window.location
? Каких результатов вы ожидаете?2. Во-первых, window. location.protocol не дает вам «//», который вам нужен после протокола в URL. Запишите значение
redirectTo
и посмотрите, что вы получите3. он говорит « недоступный код после оператора return «
4. @H4CKTRIK Не понимаю, что такое «. Обновите всю вашу функцию в приведенном ниже ответе, пожалуйста, посмотрите и проверьте, есть ли какие-либо проблемы.
Ответ №1:
Вы должны добавить ‘//’, после window.location.protocol
которого упоминается @Vasan.
Использование строк шаблона ES6 сделало бы это понятным.
function validate() {
const redirectTo = `${window.location.protocol}//${window.location.host}/dashboard.html`;
const username = document.getElementById('userName').value;
const password = document.getElementById('passWord').value;
if (username === 'admin' amp;amp; password === 'password') {
window.location = redirectTo; // Redirecting to other page.
return false;
} else {
alert('NANI!!!');
}
}
Ответ №2:
Так и должно быть window.location.href = redirectTo
.
Комментарии:
1. Нет, окно. location работает так же хорошо. Попробуйте это в консоли вашего браузера