我是不熟悉Grails的新手,我并不默默地理解为什么即使我将 Action 分配给调用测试方法的方式,表单仍继续调用 Controller 的index方法。
这是gsp:
<g:form action="test">
<g:submitToRemote update="updateMe" value="Click Me!" />
</g:form>
<div id="updateMe"></div>
呈现方式如下:
<form action="/CEFConnect/CEFTicker/test" method="post">
<input onclick="jQuery.ajax({type:'POST',data:jQuery(this).parents('form:first').serialize(),
url:'/CEFConnect/CEFTicker/index',
success:function(data,textStatus){jQuery('#updateMe').html(data);},
error:function(XMLHttpRequest,textStatus,errorThrown){}});
return false"
type="button" value="Click Me!">
</form><div id="updateMe"></div>
Ajax正在调用
'/CEFConnect/CEFTicker/index'
而不是'/CEFConnect/CEFTicker/test'
这是 Controller :
class CEFTickerController {
def index() {
render "<p>index called.</p>"
}
def list() {
}
def test() {
render "<p>test called.</p>"
}}
我从中调用的页面是“/ CEFConnect / CEFTicker / list”。因此,我不是从当前操作中调用该操作。
最佳答案
在url
中使用submitToRemote
<g:submitToRemote url="[action: 'test']" update="updateMe" value="Click Me!"/>
每documentation。