Вопрос по playframework, url-routing, model-view-controller – Play 2.0 framework - параметры POST

5

Я пытаюсь отправить параметры в Action и написал в маршрутах:

# Home page
GET    /                         controllers.Application.index()

POST   /login/name:/password:    controllers.Application.login(name, password)

и у меня есть действие

public static Result login(String name, String password) {
    return ok(name + " "  + password);
}

моя форма

<form action="/login" method="post">

    <input name="name" type="text" id="name">
    <input name="password" type="password" id="password">
    <input type="submit" value="Login">

</form>

И это не работает

Для запроса'POST /login' [Missing parameter: name]

Что я делаю неправильно?

Можете ли вы отредактировать вопрос поставить код формы. Subir Kumar Sao
как слепое предположение (php разработчик здесь),/login/name:/password: определяет, что выrequired дал два дополнительных параметра .. один отсутствует. Вот что говорит ошибка. tereško

Ваш Ответ

3   ответа
3

POST   /login    controllers.Application.login(name, password)

НЕ включая динамические имена (: name и: password) в путь маршрутизации, мы предполагаем, что переменные берутся из запроса (IE: ваши html-входы)

Полученная ошибка указывает на то, что имя и пароль не отображаются в пути URL-адреса ... это правильно, поскольку путь, который вы указали в своих маршрутах, указывает, что путь должен выглядеть примерно так:

/ Войти / MyName / мойпароль

пожалуйста, проверьтеhttp://www.playframework.org/documentation/2.0.1/JavaRouting и посмотрите на раздел «Метод генерации вызова к действию».

Кажется, этот метод не работает для POST, я использую этоstackoverflow.com/questions/20221233/… решение
3

пароль), так как данные находятся в теле, а не в URL

0

но если кто-то новый приходит к вопросу. Мы не должны добавлять параметры, когда вы используете сообщение, также, если вы использовали параметры, это будет     GET / login /: имя /: пароль контроллеров. Приложение.login (имя: строка, пароль: строка)

Для post не добавляйте параметры и не связывайте их с классом case внутри контроллеров и обращайтесь к переменным.

Похожие вопросы