У меня сейчас самая странная проблема. У меня есть этот код JS:
function CreateChat() {
var chatName = document.getElementById("chatName").value;
window.location.href = "https://localhost:44321/CreateNewChat/CreateChat?ChatName=" + chatName;
}
Дело в том, что я не могу заставить его работать. Очевидно, он должен вызывать метод контроллера, но он просто не будет работать. Если я нажму на этот URL с запущенным проектом и добавлю что-нибудь в его конец, например https://localhost:44321/CreateNewChat/CreateChat?ChatName=TestName,, переменная имени теста попадет в контроллер без проблем. Если я жестко закодирую код «TestName» вместо того, чтобы передать переменную chatName, которую я определил ранее, он попадет в контроллер, без проблем. Черт, если я отлаживаю скрипт, переменная chatName корректно загружается с моим вводом, и если я консоль.log URL-адрес, он будет отображаться правильно (на самом деле, я могу скопировать / вставить этот URL-адрес, и он будет правильно попадать в метод контроллера). Но, как видно из приведенного выше кода, он никогда не ударит по контроллеру. Он достигнет этой точки и прервет выполнение, как если бы в коде JS произошла ошибка. Ребята, у вас есть идеи по этому поводу? На самом деле это сводит меня с ума.
На всякий случай, вот как я определяю ввод текста в HTML:
<input type="text" required class="form-control" id="chatName" aria-describedby="nameHelp" placeholder="Name your chat!">
Редактировать: encodeURIComponent в chatName тоже не работает.