Play Framework отправляет данные запроса POST в GET

Как мне отправить данные запроса из запроса POST в запрос GET с помощью Scala Play? (Используя Play Framework 2.1.1)

Моя цель состоит в том, чтобы иметь одну страницу «Отчеты», которая работает следующим образом: отчет представляет собой запрос GET, поэтому при необходимости вы можете добавить этот отчет в закладки. Отчет состоит из таблицы моделей, и в конце каждой строки модели есть кнопка удаления. Я хочу нажать кнопку «Удалить», отправить идентификатор на мой контроллер, а затем перезагрузить страницу с включенными параметрами фильтра отчетов.

В настоящее время у меня есть кнопка удаления, просто добавленная к получению, которая работает правильно, но параметр remove=id остается в строке запроса/адреса. Поэтому он пытается удалить эту модель каждый раз, когда страница перезагружается. Я хотел бы сделать эту форму POST, а затем удалить модель, а затем отправить все параметры запроса, кроме удаления, в запрос GET.

Я бы предпочел сделать это без javascript/AJAX.


person damian    schedule 27.06.2013    source источник


Ответы (1)


Вы можете восстановить URL-адрес, используя queryString и путь из объекта запроса. Затем перенаправьте обратно (без параметра удаления) Как получить параметры строки запроса в java play framework?

Или, если у вас есть настройка вызова в файле маршрутов для анализа, используйте обратный маршрут без параметра удаления. Play Framework — перенаправление с параметрами http://www.mariussoutier.com/blog/2012/12/10/playframework-routes-part-1-basics/

  def index() = Action { request =>
    import play.api.Play.current
    println(request.queryString)
    val allWithoutDel = request.queryString - "del"   //del is the query parameter
    println(allWithoutDel)
    val url = request.path + // fold or map the allWithoutDel down to a URL string again
    redirect(url)
    }
person Doswell    schedule 28.06.2013
comment
Это то, что я пробовал изначально. Но request.queryString пусто. Параметры есть, если я распечатаю request.body. - person damian; 28.06.2013