Allora il discorso č questo, ho un form con registrazione di utenti, vorrei che con la success venisse mandato un messaggio di avvenuta registrazione, in caso di failure (quindi se la query fallisce per esempio perchč c'č un username duplicato) venisse mandato un altri messaggio.
Mando i dati del form ad una pagina JSP, ma credo che gestisco male il campo data o che manchi qualcosa che non riesco a capire...
RICHIESTA con AJAX
codice:
<%@page contentType="text/html" pageEncoding="UTF-8"%><!DOCTYPE html>
<html>
<head>
<link href="stile2.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<title>JSP Page</title>
</head>
<body>
<script type="text/javascript">
function registraUtente(){
//RECUPERO DEI PARAMETRI
//ESECUZIONE DELLA CHIAMATA AJAX
var nome = $("#nome").val();
var cognome = $("#cognome").val();
var username = $("#username").val();
var password = $("#password").val();
$.ajax(
{
type: 'POST',
url: 'inserisciutente.jsp',
data: "nome=" + nome + "&cognome=" + cognome + "&username=" + username + "&password=" +password,
/*success:*/
complete: function Ok(data){
//SE CI SONO ERRORI MOSTRO L'ERRORE ALTRIMENTI UN MESSAGGIO DI CONFERMA
alert("Registrazione avvenuta con successo!");
$('#risultato').load('inserisciutente.jsp');
},
failure: function Errore(){
alert("Errore nella registrazione!!!");
}
});
}
</script>
<article>
<h3>Registrati</h3>
<!--action="<%=request.getContextPath()%>/Controller?state=nuoviutenti" -->
<form class="registrazione" action="javascript:registraUtente()" method="post">
<fieldset>
<p>
<label for="nome">Nome</label>
<input type="text" id="nome" name="nome" placeholder="es. Mario" required value="" />
</p>
<p>
<label for="cognome">Cognome</label>
<input type="text" id="cognome" name="cognome" placeholder="es. Rossi" required value="" />
</p>
<p>
<label for="username">Username</label>
<input type="text" id="username" name="username" placeholder="es. mrossi82" required value="" />
</p>
<p>
<label for="password">Password</label>
<input type="password" id="password" name="password" placeholder="es. Ab0123" required value="" />
</p>
<p class="bottone">
<button class="bottone-invia" type="submit" >Invia</button>
</p>
</fieldset>
</form>
<div id="risultato">
</div>
</article>
</body>
</html>
Pagina JSP:
codice:
<%@page import="viste.ConnectionDb"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%
ConnectionDb c=new ConnectionDb();
boolean good=c.addUser(request.getParameter("nome"),request.getParameter("cognome"),request.getParameter("username"),
request.getParameter("password"), "user");
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Nuovo utente inserito!</title>
</head>
<body>
<%if(good){
out.println("<p>Complimenti!!! <br> Ti sei correttamente registrato come nostro cliente!</p>");
}
else{
out.println("<p>Errore:<br>l'username da te inserito non č corretto, prova con un altro.</p>");
}
%>
</body>
</html>