0
<script type='text/javascript' src='js/jquery.js'></script>

<script type="text/javascript">
    $(document).ready(function() {
        $("#gt").click(function() {

            $("#internal").load('second.jsp');   //not working....
            alert("loaded");

        });
    });
</script>


    Happy new year...................
    <a href="#" id="gt"> Click me </a>

    <p id="para"></p>

    <div id="internal"> a</div>

私はLiferay6.1でEclipseで作業しています。JQueryは正常に機能しています...部門のinnerHTMLを変更でき、アラートボックスも表示されます。しかし、部門内にページを読み込むことができません。同じコードが単純な動的Webプロジェクトで正しく機能しています。どんな体も私を助けてくれますか...

4

3 に答える 3

3

2番目の.jspがWebブラウザで使用可能であることを確認してください。ポートレット環境にいるため./second.jsp、質問に貼り付けたコンテンツを提供しているjspと同じディレクトリを参照しているとは限りません。ほとんどの場合、別のパスが必要になります。jspがに/WEB-INFある場合は、動的に要求できるように、別の場所に移動する必要があります。

さらに、second.jspがポータルセッションにアクセスする必要がある場合は、ポートレットへのリソースリクエストを使用することをお勧めします。<portlet:resourceURL/>このためのあなたの友達になります。

charlietflが質問へのコメントで示唆しているように、最良の方法は、ブラウザーでHTTPレベルの出力(例:firebug)を使用して、実際に送信されるリクエストの種類を確認することです。

また、ポータル環境では、<portlet:namespace/>指定するIDに追加/追加することをお勧めします。そうしないと、ポートレットがページに2回追加された場合(または他の誰かが使用することを選択した場合)にIDが重複することになります。同じID)

于 2013-01-02T08:14:47.700 に答える
0

uは、ロード後に呼び出されるコールバック関数を指定していません。

$('#reinternalult').load('second.jsp', function() {
  alert('Load was performed.');
});

のパスsecond.jsp が正しく、HTMLが正しく出力されることを確認してください

また、ブラウザから直接second.jspを呼び出して、何が得られるかを確認してください

于 2013-01-02T06:29:30.797 に答える
0

また、.click()メソッドの代わりに.on()メソッドを使用します。これにより、DOMの肥大化からあなたを救うことができます

$(document).ready(function(){$('body')。on('click'、'#gt'、function(){

        $("#internal").load('second.jsp', function(){
              alert("loaded");
        });
     });

});

于 2013-01-02T06:48:45.787 に答える