Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Ajax e datatype

  1. #1

    Ajax e datatype

    Ciao a tutti, nell'utilizzo di Ajax e Jquery ho trovato degli esempi sui metodi Ajax che interagisce con codice php. Mi servirebbe qualche esempio di Ajax che interagisce con una JSP o comunque con codice Java, perchč non riesco a capire come settare il parametro data e la chiamata Ajax non funziona, qualcuno saprebbe aiutarmi?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non mi risulta che ci sia ajax per php o ajax per jsp, devi avere un out/response della pagina chiamata a prescindere dalla estensione
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    qualunque linguaggio server si usi, una chiamata ajax in jquery si fa sempre nello stesso modo, nello specifico che problemi riscontri con il parametro data? la documentazione di jquery l'hai gią letta? https://api.jquery.com/jQuery.ajax/

  4. #4
    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>

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Metti online le pagine e posta qui il link
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Stai facendo due chiamate ajax(anche il metodo load di jquery effettua una chiamata ajax), la seconda andrą sempre in errore perche non passi i parametri necessari, una delle due č ovviamente inutile. Inoltre non mi risulta che jquery gestisca la callback 'failure' forse volevi scrivere fail? Ti consiglio caldamente di leggere la documentazione di jquery.

  7. #7
    Quote Originariamente inviata da Vindav Visualizza il messaggio
    Stai facendo due chiamate ajax(anche il metodo load di jquery effettua una chiamata ajax), la seconda andrą sempre in errore perche non passi i parametri necessari, una delle due č ovviamente inutile. Inoltre non mi risulta che jquery gestisca la callback 'failure' forse volevi scrivere fail? Ti consiglio caldamente di leggere la documentazione di jquery.
    Si non ho visto che quel metodo di failure č deprecated, dovrebbe andare sostituendo con fail. Ad ogni modo:

    la chiamata load a quanto ho visto puņ essere effettuata anche senza parametri...

    http://gabrieleromanato.com/2012/08/...oad-di-jquery/

    E ho provato a passare i miei parametri ma per ciņ che devo fare non mi servirebbero, perchč li passo la prima volta.

    Allora il discorso č questo...i dati vengono correttamente inviati dal form perchč controllando sul database vengono inseriti. Se ad esempio nella pagina JSP scrivo un paragrafo, questo viene correttamente restituito in output, se inserisco elementi dinamici no. Posto le modifiche fatte.

    La pagina con AJAX sostanzialmente cambia poco.

    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:*/
                        success: function Ok(data){
                                            //SE CI SONO ERRORI MOSTRO L'ERRORE ALTRIMENTI UN MESSAGGIO DI CONFERMA
                             alert("Registrazione avvenuta con successo!");
                            // $('#wrapper').load('test.html #test');
                             $('#risultato').load('inserisciutente.jsp', {nome:nome,cognome:cognome,username:username,password:password});
                            
                            
                        },
                        fail: 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>

    Mentre nella JSP non capisco perchč cosģ non va bene:

    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){%>
    
    
                <%="Utente registrato!"%>   
            <%}%>
            
            <%else{%>
    
    
                <%="Errore!"+"\n"+"Scegli un username diverso, poiche' gia' preso."%>    
    
    
            <%}%>
           
            
    
    
        </body>
    </html>
    Perchč non viene restituito comunque un contenuto della JSP?

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.