Ciao a tutti, sono alle prime armi con Ajax, dovrei inviare dei dati di registrazione mediante FORM ad una pagina che inserisce in un database e manda un messaggio di conferma o errore. Il tutto senza usare php ma solo java....questo č il codice del form, che č una JSP, dove una volta premuto ok carico una parte della pagina a cui invio i dati.
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: function Ok(){
//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>
Questa č la pagina a cui invio i dati, di cui vedo la parte testuale nel div risultato, ma non viene eseguita la query...suppongo perchč nella parte iniziale uso le servlet e dovrei prelevare i dati mandati da Ajax ma non so come...
codice:
<%@page import="viste.ConnectionDb"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%
ConnectionDb c=new ConnectionDb();
boolean ris=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>
<h1> Operazione riuscita! </h1>
</body>
</html>