我正在向我的控制器中的delete方法发送DELETE
类型的Ajax请求。
为了成功删除,我尝试重定向到同一控制器中的另一种方法,该方法重新加载列表,并且为GET
类型。
当前,我的删除操作可以使用默认状态代码302正常运行,但是在重定向时,它正在使用'Request Method: DELETE' instead of 'GET'
进行重定向,这是 Grails 的默认行为。
请提出解决方案
redirect(action: 'list',controller:'dashboard')
答案 0 :(得分:0)
如果要进行重定向,则应该进行http调用而不是Ajax调用。重定向由浏览器自动处理,因此您不能将其从删除更改为获取。您可以尝试使用转发或在回调/承诺中单独调用列表。
或者,如果您希望将其保留在一个Ajax调用中,我希望您的仪表板控制器list动作将调用服务以获取其数据。因此,与其执行重定向,不如调用该服务并返回该数据。
之所以说希望,是因为我已经看过很多例子,人们将业务逻辑放在不属于控制器的控制器中,而不是将其移到可以重用的服务中。