Grails远程函数和Ajax

时间:2010-06-08 08:57:38

标签: grails

我正在尝试列出地址和onChange事件我发送地址ID并返回用户列表。

<g:select name="AddressID" from="${address}" optionKey="id" optionValue="address"
              onchange="${ remoteFunction(
                           action:'testMe', 
                           params:'\'id=\' + this.value' ,
                           update:'show' )}">
      </g:select>

我把这个div称为“show”。

<div id="show">
  <g:each in="${users}" status="i" var="C">
        <h3>${C}</h3>
  </g:each>

</div>

但是,当我单击列表框中的项目时,我收到以下错误: description The requested resource (/MyTest/WEB-INF/grails-app/views/test/testMe.jsp) is not available.

我对remoteFunction中的update属性的理解是它是在完成remoteFunction调用后刷新的div的名称。

感谢。

1 个答案:

答案 0 :(得分:2)

我会重新组织你的代码以使Ajax正常工作:

  1. 将您的div内容移至部分模板中,例如_remoteResponse.gsp

    <g:each in="${users}" status="i" var="C">
          <h3>${C}</h3>
    </g:each>

  2. 修改控制器的testMe操作以呈现对模板的响应,例如:

  3. render (template:'remoteResponse', model:[users:['mike,tim']])

    • 确保您在main.gsp中设置了ajax库,例如:

    <g:javascript library="prototype" />