我的 grails 应用程序有问题。我有一个表单,其方法设置为 POST,在提交表单时在本地和我们的登台服务器上一切正常,但在提交表单时在我们的生产服务器上,它只是作为 GET 请求重定向,显然操作失败,因为没有参数由 Controller 接收。
这是我的 .gsp 页面中的代码
<g:form name="unsubscribe" url="[action:'unsubscribeConfirm', controller:'subscriptions']" >
<p> </p>
<g:each in="${subCities}" var="subCity" status="i" >
<div class="unsubscribe-select-cities-check" >
<g:checkBox name="subCity" value="${subCity.id}" checked="false" />${subCity.description}
</div>
</g:each><br/>
<c:reasonSelect name="reason" class="unsubscribe-select-reason-drop-down" id="reason-select" />
<textarea class="textarea-style" cols="55" rows="3" name="reasonTxt" id="reason-text" style="display: none;"></textarea>
<input class="required input-style required" type="hidden" name="email" value="${person.email}">
<g:submitButton name="Send" value="${g.message(code:'cl.email.unsubscribe.details.send')}"
class="main-left-col-login-form-submit-register" style="float: left;"/>
</g:form>
甚至在暂存和生产中的 View 源也是相同的。
部署结构是Tomat前面的Apache。
最佳答案
发布的代码看起来不错。
我会检查 Apache 配置。如果它像您所说的那样发生(POST 被重定向到 GET),那么它可能是 Apache 重写规则或类似规则。
关于apache - Http 表单未发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6371809/