0

Grails で Ajax 非同期コールバックを使用しようとしています。私の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 "time" は、レンダリングされたテキスト "The time is" に置き換えられると思います。代わりに、何も起こらないようです。System.print が原因でコントローラーが起動することはわかっていますが、div では何も更新されません。

ページのオンロードに気付きました.prototype.jsページで「element.dispatchはイベントではありません」というエラーが生成されました。外すと

 <g:javascript library="prototype" />

そのエラーは発生しなくなりましたが、ページ全体がダッシュボード/showTime にリダイレクトされます

ここで何が間違っていますか?

ありがとうジェイソン

4

1 に答える 1

0

jquery (または他の JS ライブラリ) とプロトタイプ ライブラリの両方を使用していますか? この問題は通常、jquery.js とprototype.js の両方を使用することによって発生します。jquery が読み込まれていない可能性があります (レイアウトまたは < body > にある可能性があります。firebug を使用して読み込まれた JS ライブラリを確認してください。

両方をロードする場合は、jquery をコメントアウトして、prototype のみを使用してください。もう一度確認すると、動作していて、< div > が更新されているはずです。それが役立つことを願っています。

于 2012-02-01T22:34:47.237 に答える