I'm trying to send the username to the servlet through an ajax call to check its availability, but the servlet show a null pointer exception.
I've also tried with the XMLHttpRequest instead of $.ajax.
This is my Javascript file:
$(document).ready(function() {
  $("#reg-form").submit(function() {
    var res = true;
    if (!testUser()) {
      res = false;
      $("#erruser").css("display", "block");
      $("#username").addClass("errclass");
    } else {
      $("#erruser").css("display", "none");
      $("#username").removeClass("errclass");
    }
    return res;
  });
});
function testUser() {
  var el = $("#username").val();
  var b = false;
  $.ajax({
    type: "POST",
    url: "CheckUserServlet",
    data: { user: el },
    dataType: "json",
    success: function(bool) {
      alert(bool);
      if (bool == "si") b = true;
    },
    error: function() {
      alert("errore");
    }
  });
  return b;
}
This is my servlet doPost method:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String username=request.getAttribute("user").toString();
    System.out.println("username servlet= "+username);
    response.setContentType("text/plain");
    response.setCharacterEncoding("UTF-8");
    if (!ud.doRetrieveByUser(username)) {
        response.getWriter().write("si");
        return;
    }
    response.getWriter().write("no");
    return;
}
Thanks!
 
     
    