我是不熟悉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

07-24 09:37
查看更多