2012-12-28 10 views
9

私はこのコードスニペットを使って、別のJSPファイルにデータを渡しています。jsperyを使ったJsp ajaxコール

Javascriptを

$(document).ready(function() { 
    $("#click").click(function() { 
     name = $("#name").val(); 
     age = $("#age").val(); 
     $.ajax({ 
      type : "POST", 
      url : "pageTwo.jsp", 
      data : "name=" + name + "&age=" + age, 
      success : function(data) { 
       $("#response").html(data); 
      } 
     }); 
    });  
});  

HTML

<body> 
    Name:<input type="text" id="name" name="name"> 
    <br /><br /> 
    Age :<input type="text" id="age" name="age"> 
    <br /><br /> 
    <button id="click">Click Me</button> 
    <div id="response"></div> 
</body> 

pageTwo.jspで、私のコードは

<% 
    String name = request.getParameter("name"); 
    String age = request.getParameter("age"); 
    out.println(name + age); 
%> 

けど番目です私のJqueryで間違いはありますか?誰か助けてもらえますか?

答えて

4
$("#click").click(function(e) { 
    // e.preventDefault(); 
    ... 
    return false; 
}); 

もちろん、firebugをインストールするか、chrome defaultデベロッパーツール(f12)を使用してください。コンソールを開いてコードを実行します。

+0

なぜ「false false」ですか?必要?それは動作しますが、私は理由を理解していません。 – Gabrer

+1

デフォルトのアクションを停止する場合は、「return false」を返します。 "#click"がリンクであるとすると、今クリックするといくつかのページ(href url)にリダイレクトされます。今度は "falseを返す"場合、ブラウザのデフォルトアクションは実行されません。 "return false"コールバック内にコードの最後に置く必要があります。また、 "e.preventDefault();"これはコールバック関数内でコードの先頭に置くことができます。 – HamidRaza

+0

ありがとうございました!非常にきれいで速い:) – Gabrer

1
$(document).ready(function() { 
    $("#click").click(function() { 
     name = $("#name").val(); 
     age = $("#age").val(); 
     $.ajax({ 
      type: "POST", 
      url: "pageTwo.jsp", 
      data: "{'name':'" + name + "','age':'" + age + "'}", 
      contentType: "application/json", 
      async: false, 
      success: function (data) { 
       $("#response").html(data.d); 
      } 
     }); 
    }); 
});