Grails formRemote:为什么它总是重定向?

时间:2011-12-18 21:51:20

标签: ajax grails grails-controller

我正在尝试在grails中使用标记g:formRemote。

在头部定义中:

 <g:javascript library="prototype" />

查看:

<g:formRemote name="something" update="remoteDocsBlock"
                      url="[ controller: 'document',
                       action: 'search']">

      search: <input name="searchstring" type="text"></input>

      <g:actionSubmit value="Search" action="search" />

      <g:render template="/document/remoteSearchList" model="[docs:docs]" />

</g:formRemote>

<div id="remoteDocsBlock">this div is updated with the result...</div>

在我的控制器中

def search = {
.....
render (template:'remoteSearchList', model: [docs:docs])

}

问题

会发生什么:对控制器进行调用,整个页面将替换为控制器的结果 - 模板_remoteSearchList。页面上的不同ajax调用确实有效。我不知道为什么grails会那样。

更新

我已删除“__”问题。评论解决了这个问题。

更新

我已经孤立了问题:JQuery。我也在网站上使用JQuery。如果它被删除,ajax调用工作......需要找到一种方法,使两者都有效。

<g:javascript library="jquery-1.4.4.min" />
<g:javascript library="jquery-ui-1.8.7.custom.min" />
<g:javascript library="jquery-server-extentions" />

1 个答案:

答案 0 :(得分:1)

哦,似乎是因为与Prototype(默认情况下与Grails捆绑)和jQuery冲突。远程调用由Prototype lib进行,但如果你安装jQuery plugin for grails - 它将开始使用jquery进行远程调用。