Ho risolto poi!
Ho ascoltato il consiglio del button, grazie!
Ma quello che mi creava veramente problemi era più banalmente il nome con cui richiamavo il form nella funzione javascript: (#form) che era sbagliato!
Ora avrei un altra domanda se era possibile: mi piacerebbe creare un oggetto json a partire sempre dai campi di questo form, ho ovviamente fatto qualcosa che posto
codice:
<%@page import=" org.json.*"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE>
<html>
<head>
<!--/Importazione jQuery-->
<script type="text/javascript" src="js/jquery-2.2.2.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<!--/Importazione CSS-->
<link rel="stylesheet" href="Style.css" type= "text/css">
<title>Form d'inserimento username e password</title>
</head>
<body>
<div id="container">
<div id="header"><h2>Form Inserimento Username / Password </h2></div>
<div id="form">
<form id="form_ajax" method="post" action="UserController">
<div id="header">
<label for="username">Inserisci il tuo username: </label>
<input id="username" type="text" name="username">
<p><label for="password">Inserisci la tua password: </label>
<input id="password" type="password" name="password">
<div id="header">
<h3>Accedi come</h3>
<select id="roletype" name="roletype">
<option value="0">Utente</option>
<option value="1">Amministratore</option>
</select></div>
<input id="submit" type="submit" value="Login">
</div>
</form>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('#submit').click(function(){
$('#form_ajax').append('<img src="img/load.gif" alt="loading" id="loading" />');
var username= $('#username').val();
var password= $('#password').val();
var roletype= $('#roletype').val();
var jsonObj = {
"username": username,
"password": password,
"roletype": roletype,
};
var jsonString = JSON.stringify(jsonObj);
$.ajax({
url: 'UserController',
type: 'POST',
dataType:'JSON',
data: jsonString,
contentType: 'application/json',
mimeType: 'application/json',
success: function (risposta){
$('#risposta').remove();
$('#form').append('<p id="risposta">'+ risposta +'</p>');
$('#loading').fadeOut(800,function(){
$(this).remove();
})
}
});
return false;
});
});
</script>
</body>
</html>
Quando cerco di recuperare il jason lato servlet con:
String oggetto = (String)request.getParameter("jsonString");
recupero un bel null purtroppo!
Visto che in logica "query parameter" il tutto funzionava sto evidentemente sbagliando a utilizzare il json. Nello specifico cosa sbaglio?
Tra l'altro ho anche un "java.lang.NumberFormatException: null", immagino che si riferisce al roletype(int). Perchè?
Chiedo lumi please! Grazie come sempre!