Окно.местоположение не работает в Javascript

#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 работает так же хорошо. Попробуйте это в консоли вашего браузера