重定向时,DELETE请求未更改为GET

时间:2019-01-25 11:11:25

标签: redirect grails grails-controller

我正在向我的控制器中的delete方法发送DELETE类型的Ajax请求。 为了成功删除,我尝试重定向到同一控制器中的另一种方法,该方法重新加载列表,并且为GET类型。

当前,我的删除操作可以使用默认状态代码302正常运行,但是在重定向时,它正在使用'Request Method: DELETE' instead of 'GET'进行重定向,这是 Grails 的默认行为。

请提出解决方案

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

1 个答案:

答案 0 :(得分:0)

如果要进行重定向,则应该进行http调用而不是Ajax调用。重定向由浏览器自动处理,因此您不能将其从删除更改为获取。您可以尝试使用转发或在回调/承诺中单独调用列表。

或者,如果您希望将其保留在一个Ajax调用中,我希望您的仪表板控制器list动作将调用服务以获取其数据。因此,与其执行重定向,不如调用该服务并返回该数据。

之所以说希望,是因为我已经看过很多例子,人们将业务逻辑放在不属于控制器的控制器中,而不是将其移到可以重用的服务中。