redirect - DELETE 请求在重定向时不会更改为 GET
问题描述
我正在向DELETE
控制器中的删除方法发送类型 Ajax 请求。为了成功删除,我试图重定向到同一控制器中的另一个方法,该方法重新加载列表并且属于GET
类型。
目前,我的删除操作在默认状态代码 302 下运行良好,但在重定向时,它正在重定向,'Request Method: DELETE' instead of 'GET'
这是Grails的默认行为。
请提出解决方案
redirect(action: 'list',controller:'dashboard')
解决方案
如果您想进行重定向,您应该进行 http 调用而不是 Ajax 调用。重定向由您的浏览器自动处理,因此您无法将其从删除更改为获取。您可以尝试在回调/承诺中使用转发或单独调用列表。
或者,如果您想将其保留在一个 Ajax 调用中,我希望您的仪表板控制器、列表操作将调用服务以获取其数据。因此,我不会进行重定向,而是调用该服务并返回该数据。
我说希望是因为我见过很多例子,人们把业务逻辑放在控制器中,它不属于它,而不是把它移到服务中,在那里它可以被重用。
推荐阅读
- java - 在 Java 中的数组中查找字符串
- c++ - 强制非推断上下文 - type_identity 等
- javascript - 从电子js中的剪贴板获取屏幕截图作为arrayBuffer
- c++ - 为什么MSYS2的随机数都一样?
- laravel-livewire - alpine 如何在仅打开 1 个项目的情况下制作手风琴?
- sql-server - 将 SQL Server 表中的数据导出到 DBF 文件
- batch-file - 搜索文本文件并在使用批处理文件找到特定字符串时附加它
- axapta - How to name parameter form for SysOperation batch job task in d365?
- html - Angular 不会显示 mp4 电影
- php - laravel 中的电子邮件正文内容翻译问题