2013-05-26 3 views
0

У меня есть форма, которая отправляет запрос POST контроллеру (post url = myForm/save), теперь, если проверка не выполняется, я отправляю badRequest() из контроллера на клиент.Обработка POST - BadRequest - цикл GET

Страницы отображаются правильно, показывая ошибку проверки и заполненную форму. (Однако URL-адрес остается myForm/save в адресной строке, как и ожидалось).

Теперь, если я жду на этой странице и сессии истекает, а затем повторно отправьте форму, Secure Social переведет меня на страницу входа. После успешного входа в систему Secure social запомнит последний URL (myForm/save) и попробуйте GET-запрос для отображения страницы. Здесь возникает проблема, потому что последний URL-адрес был POST-запросом, но для отображения страницы Secure Social отправил запрос GET контроллеру.

И это вызывает «действие не найдено». Как я могу решить эту проблему?

ответ

0

Вы пытались дублировать путь на своих маршрутах, чтобы добавить запрос GET?

POST /myForm/save  com.controllers.Application.index() 
GET /myForm/save  com.controllers.Application.index() 
+0

Используя это, вы избежите ошибки, связанной с действием, но поскольку это запрос Get, все данные формы будут потеряны. Кроме того, это больше похоже на резервное решение. спасибо anywayz. –

+0

Я не думаю, что лучше попробовать другой пост после окончания сеанса. Вы должны перенаправить пользователя в новую форму после входа в систему. Возможно, вы можете заполнить форму, если вы сохраните данные с помощью ajax-вызова до истечения срока действия сеанса. –