我的grails应用程序出现问题。我有一个表单,其方法设置为POST,本地和我们的登台服务器上提交表单时一切正常但在我们的生产服务器上提交表单时它只是被重定向为GET请求,显然操作失败,因为没有参数由控制器接收。
这里是我的.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>
即使是分段和制作的视图来源都是一样的。
部署结构是Tomat的面前的Apache。
答案 0 :(得分:0)
发布的代码看起来很好。
我会查看Apache配置。如果它正如您所说(POST被重定向到GET),那么它可能是Apache重写规则或类似规则。
答案 1 :(得分:0)
对不起家伙问题是错误的,从https开始添加了一个带有url的html基本标记,所以表单确实发布了带有参数的安全网址,然后重定向到没有数据的不安全网址。
这就是为什么控制器没有收到任何参数。
感谢您的帮助。