#ajax #scala #playframework #jscript
#ajax #scala #playframework #jscript
Вопрос:
Я отображаю информацию, собираю вводимые пользователем данные и вызываю метод контроллера с помощью вызова ajax / java script из представления. Однако вместо отображения новой / другой HTML-страницы метод контроллера возвращает обратно к исходной HTML-странице, с которой я вызвал jscript.
Это из-за вызова ajax? Как мне убедиться, что метод контроллера будет отображать HTML-файл, который он должен, вместо того, чтобы оставаться на старой HTML-странице?
Комментарии:
1. Вам действительно нужно предоставить некоторые дополнительные сведения, чтобы получить большую помощь. Но похоже, что вам нужно использовать метод create a separate controller для действия POST, сгенерированного вашей формой.
2. Да, у меня есть метод контроллера, который вызывается. Проблема в том, что все в порядке (nextveiw.scala.html ) не вызывает следующее представление. Вместо этого продолжает отображаться старая страница.
3. исправьте теги… что для вас воспроизведение?
Ответ №1:
Мне кажется, что вы хотите открыть другой URL, отличный от того, на котором вы находитесь. Для этого вы не используете ajax. Вместо этого попробуйте использовать javascript для изменения window.location
, чтобы указать браузеру перейти к URL-адресу (или «вызвать ваш контроллер»). Это выглядит так:
window.location.assign("/your/controller/url"); // or
window.location = "/your/controller/url";
Подробнее об этом можно прочитать здесь:https://developer.mozilla.org/en-US/docs/Web/API/Window .Расположение
Вы можете представить ajax как отдельный маленький браузер, который позволяет вам вызывать веб-сервер, но позволяет обрабатывать то, что возвращается с помощью javascript, а не всегда показывать это пользователю. Поэтому, если вы хотите выполнить вызов с помощью ajax, но получить HTML-ответ на свою страницу, вы несете ответственность за получение этого ответа и вставку его в DOM.