2012-12-28 18 views
9

Mam ten fragment kodu, w którym przesyłam dane do innego pliku jsp.Połączenie JSP ajax przy użyciu jquery

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> 

aw pageTwo.jsp, mój kod jest

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

ale th nie działa. Czy jest jakiś błąd w moim Jquery? Czy ktoś może mi pomóc?

Odpowiedz

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

i oczywiście zainstaluj firebuga lub użyj domyślnych narzędzi deweloperskich (f12). otwórz konsolę i uruchom kod.

+0

Dlaczego "zwraca fałsz;" niezbędny? Działa, ale nie rozumiem, dlaczego. – Gabrer

+1

"return false", aby zatrzymać działanie domyślne. powiedz "#click" jest linkiem, więc teraz po kliknięciu przekieruje Cię do strony (href url), teraz jeśli masz "return false", to nie zrobi domyślnej akcji przeglądarki. "return false" musisz umieścić na końcu kodu wewnątrz callback. Możesz także użyć "e.preventDefault();" który możesz umieścić na górze kodu wewnątrz funkcji zwrotnej. – HamidRaza

+0

Dziękuję bardzo! Bardzo przejrzysty i szybki :) – 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); 
      } 
     }); 
    }); 
}); 
Powiązane problemy