Запрос DELETE не изменяется на GET при перенаправлении - PullRequest
0 голосов
/ 25 января 2019

Я отправляю запрос Ajax типа DELETE на мой метод удаления в моем контроллере. Для успешного удаления я пытаюсь перенаправить на другой метод в том же контроллере, который перезагружает список и имеет тип GET.

В настоящее время моя операция удаления работает нормально с кодом состояния по умолчанию 302, но при перенаправлении она перенаправляет с 'Request Method: DELETE' instead of 'GET', что является поведением по умолчанию Grails .

Просьба предложить решение для него

redirect(action: 'list',controller:'dashboard')

1 Ответ

0 голосов
/ 25 января 2019

Если вы хотите выполнить перенаправление, вы должны выполнять HTTP-вызов, а не Ajax-вызов. Перенаправление обрабатывается вашим браузером автоматически, поэтому вы не можете изменить его с удаления на получение. Вы можете попытаться использовать переадресацию или сделать отдельный вызов списку в обратном вызове / обещании.

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

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

...