在GSP(Groovy服务器页面)中,我正在使用< g:submitToRemote update =“...”>更新< div>在服务器端调用之后.
根据标签documentation和网络上的其他来源,目标< div>可以任意放置在页面上.然而,在我的测试中,我发现< div>需要包围< g:submitToRemote>标签.
如果没有,则< div>将使用一些“随机”内容(即围绕< g:submitToRemote>标记的表单部分)进行更新.
请考虑以下GSP代码:
<html> <head> <g:javascript library="prototype" /> </head> <body> <div id="updateMe_NOT_WORKING">${message}</div> <g:form> <div id="updateMe_WORKING"> <g:submitToRemote value="Click Me" action="someAction" update="updateMe_NOT_WORKING" /> </div> </g:form> </body> </html>
这是在Grails 1.3.4上.
我错过了什么? – 谢谢
解决方法
根据我的测试,g:submitToRemote的action属性不能指向当前控制器的当前操作(因为这会将当前视图插入/复制到当前视图中).
如果你在g中指定一个替代动作,它可以工作:submitToRemote – 即,
<g:submitToRemote value="Click Me" action="ajaxAction" update="updateMe" />
如果此操作提供模型 – 即,
def ajaxAction = { [message: 'foo'] }
$message
或者,动作可以使用渲染方法 – 像这样,
def ajaxAction = { render 'foo' }
我会暂时保留此问题,以防可能有其他响应,如果没有,将接受此答案作为解决方案.
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。