在GSP(Groovy服务器页面)中,我使用<g:submitToRemote update="...">
在服务器端调用后更新<div>
。
根据标记的documentation和网络上的其他来源,目标<div>
可以任意放置在页面上。但是,在我的测试中,我发现<div>
需要包围<g:submitToRemote>
标记。
如果它不,<div>
将更新一些“随机”内容(即{em>部分包围{{1标签)。
考虑以下GSP代码:
<g:submitToRemote>
这是关于Grails 1.3.4 我错过了什么? - 谢谢
答案 0 :(得分:4)
根据我的测试,g:submitToRemote
的{{1}}属性必须不指向当前控制器的当前操作(因为这会插入/将当前视图复制到当前视图中。
如果您在action
中指定备用操作,则可以正常工作 - 即
g:submitToRemote
如果此操作提供模型 - 即,
<g:submitToRemote value="Click Me"
action="ajaxAction" update="updateMe" />
然后需要有一个相应的GSP - 在这种情况下,应该说明,
def ajaxAction = { [message: 'foo'] }
或者,该操作可以使用$message
方法 - 就像这样,
render
我会暂时保留此问题,以防可能有其他回复,如果没有,则会接受此答案作为解决方案。
由于
答案 1 :(得分:3)
我认为问题在于您没有为您的操作指定控制器。尝试将controller =“...”添加到g:submitToRemote标记中。或者至少用g:form。
指定它我确信<div>
不需要包装。