Comment utiliser l'authentification automatique jquery?

Je crée un projet Web à l'aide de JSP et essaie d'implémenter une recherche simple pour les utilisateurs de ma base de données en utilisant l'authentification automatique de jquery, mais j'ai du mal à comprendre comment cela fonctionne. J'ai peu ou pas de connaissances sur jquery et ajax juste pour vous faire savoir. J'ai fait le code suivant et je suis bloqué.

<%@page contentType="text/html" pageEncoding="UTF-8" import="ewa.dbConnect,ewa.sendEmail,ewa.pwGen,ewa.hashPw,java.sql.*" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <link rel="stylesheet" type="text/css" href="css/jquery.autocomplete.css" /> <script src="js/jquery.autocomplete.js"></script> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <input type="text" id="search" name="search"/> <script> $("#search").autocomplete("getdata.jsp"); </script> </body> </html> 

Getdata.jsp

 <%@page contentType="text/html" pageEncoding="UTF-8" import="ewa.dbConnect,java.sql.*" %> <%! dbConnect db = new dbConnect(); %> <% String query = request.getParameter("q"); db.connect(); Statement stmt = db.getConnection().createStatement(); ResultSet rs = stmt.executeQuery("SELECT username FROM created_accounts WHERE username LIKE "+query); while(rs.next()) { out.println(rs.getString("username")); } db.disconnect %> 

Si je ne me trompe pas, j'ai lu sur un site Web, le paramètre q est par défaut et est juste là, mais comment afficher les données? Comment puis-je passer les valeurs de getdata.jsp dans l'autocomplete?

Vous appelez la balise de script autocomplete avant que jQuery n'ait été inclus. Donc, n'ayant pas jQuery pour verrouiller (comme l'objet jQuery n'a pas été défini), rien du plugin jQuery autocomplete ne sera chargé.

Tu as

  <script src="js/jquery.autocomplete.js"></script> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 

CA devrait etre

  <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <script src="js/jquery.autocomplete.js"></script> 

Inverser l'ordre, et les erreurs Firebug que vous avez mentionnées devraient disparaître; Je ne suis pas sûr que cela résolvira tout, mais rien ne fonctionnera jusqu'à ce que cela soit résolu.

Je ne vois pas jQuery UI étant inclus (celui fournit la fonctionnalité de remplissage automatique)

http://jqueryui.com/demos/autocomplete/

Donc, vous devez inclure jquery.ui.autocomplete.js (Ou utilisez-vous le plugin autocomplete? Dans l'affirmative, passez à la version jquery UI)

Il se pourrait aussi que les données de getdata.jsp soient mal formées pour l'utilisation en mode autocomplé.

Comment avez-vous essayé de déboguer JavaScript dans un navigateur tel que Chrome ou dans Firefox (avec Firebug)

Je donne habituellement (pour jquery UI autocomplete) une réponse formatée JSON, alors que je vois que votre boucle de réponse donne une liste délimitée CR.

Dans getdata.jsp au lieu de produire:

 jim<cr> jack>cr> jhon<cr> 

Essayez de retourner:

 [{label: 'jim', value: 'jim'}, {label: 'jack', value: 'jack'}, {label: 'jhon', value: 'jhon'}]