Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Uso di Ajax e jquery per inviare dati in modo asincrono

    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>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    Leggi http://www.html.it/pag/18403/jquery-ajax/ il problema probabilmente č nel success/error

    P.S. Se non lo usi gią, installa firebug sul browser (plugin per Firefox, chrome, safari, etc...) per monitorare le chiamate Ajax
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Uno dei problemi era mettere al posto di:

    codice:
    data:"nome="+ nome +"cognome="+ cognome +"username="+ username +"password="+password,


    codice:
    data:"nome="+ nome +"&cognome="+ cognome +"&username="+ username +"&password="+password,


    Quindi i dati vengono inseriti nel database se nuovi. Perņ se ci sono duplicati non viene lanciato il messaggio di errore...non capisco come settare la function di errore.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.