0

jQuery とサーブレットは初めてです。学校のプロジェクトに取り組んでいますが、今この問題で立ち往生しています。

私の proj3.html ファイルには、このようなアンカー タグが付いた左側のナビゲーション バーがあります。

  <ul class="nav nav-list">

          <li class="nav-header">Labels</li>
          <li><a href="" class="labels">Sony</a></li>
          <li><a href="" class="labels">Spinnin</a></li>
          <li><a href="" class="labels">BMG</a></li>
          <li><a href="" class="labels">Ultra</a></li>
      <li><a href="" class="labels">Universal</a></li>

          <li class="nav-header">Genere</li>
          <li><a href="" class="genere">Rock</a></li>
          <li><a href="" class="genere">Alternative Rock</a></li>
          <li><a href="" class="genere">Pop</a></li>
          <li><a href="" class="genere">EDM</a></li>
          <li><a href="" class="genere">Hip-Hop</a></li>
       </ul>

Javascriptの中に私はこれを持っています

 $('a.labels').on('click',function(e){

        var url = "http://example.edu/servlet/SampleQuery";       
            $.get(url);
        e.preventDefault();
    }

}

サーブレット SampleQuery.java 内で、DB から読み取り、このような JSP に転送します

       RequestDispatcher dispatcher = null;
       dispatcher = request.getRequestDispatcher("/jsp/DisplayVendor.jsp"); 
   dispatcher.forward(request, response);

アンカー タグのいずれかをクリックする$.getとヒットしますが、JSP ページが表示されません。奇妙なことは、ネットワーク トラフィックの firebug をチェックすると、AJAX 呼び出しが通過していることがわかり、応答で DisplayVendor.jsp ページも表示されることです。しかし、それは表示されません。

私が間違いを犯している場合は、誰かが指摘してもらえますか。

ありがとう

4

1 に答える 1

0

を呼び出します$.get(url)が、応答に対して何もしません。に変更します

$.get(url, function(data) {
    alert('here is the response data : ' + data);
});

受け取ったものを表示します。

たとえば、ID「dynamicallyLoadedDiv」の div の内容を、AJAX 呼び出しによって返された HTML で更新するには、次のように使用します。

$.get(url, function(data) {
    $('#dynamicallyLoadedDiv').html(data);
});

または単に

$('#dynamicallyLoadedDiv').load(url);

詳細については、ドキュメントを参照してください。

あなたの目標がページ コンテンツ全体を置き換えることである場合、AJAX 要求を行う意味が実際にはわからないことに注意してください。その場合は、単純なハイパーリンクを使用してください。

于 2013-04-20T21:16:58.507 に答える