0

我正在尝试将 Ajax 异步回调与 grails 一起使用。在我的 gsp 文件头中,我有:

    <g:javascript library="prototype" />

在我的身体里:

        <g:remoteLink controller="dashboard" action="showTime" update="time">Show the Time</g:remoteLink> 

    <div id="time"></div>

在我的控制器上,我有:

    def showTime = {
         System.print("time");
         render "The time is ";
}

我希望我的 gsp 文件中的 div“时间”将替换为呈现的文本“时间是”。相反,似乎什么都没有发生。我知道我的控制器触发了,因为 System.print 但 div 中没有任何更新。

我注意到页面的加载,我在prototype.js页面中生成了这个错误:“element.dispatch is not an event”。如果我删除

 <g:javascript library="prototype" />

我不再收到该错误,但整个页面被重定向到仪表板/showTime

我在这里做错了什么?

谢谢杰森

4

1 回答 1

0

您是否同时使用 jquery(或其他一些 JS 库)和原型库?这个问题通常是由于同时使用 jquery.js 和prototype.js 引起的。您可能没有看到 jquery 正在加载(可能是在布局中或在 <body> 中,请检查使用 firebug 加载的 JS 库。

如果您同时加载两者,请注释掉 jquery 并使用原型。再次检查它,它应该可以工作,更新 < div >。我希望这会有所帮助。

于 2012-02-01T22:34:47.237 回答