с тех пор, как несколько дней у меня возникает проблема, что при вызове функции автозаполнения jquery ничего не показывает, и я уже рассмотрел вопросы, которые уже были сформулированы другими, но я все еще не понимаю, в чем проблема, я думаю, потому что я не очень ясно, Javascript. Заранее благодарю, кто может мне помочь!
Функция работает, на самом деле я попытался выполнить ее с помощью отладчика, и, очевидно, она работает. На мой взгляд, страница JSP, у меня есть этот код:
<script language="javascript" type="text/javascript">
$(function () {
$("#cuenta").autocomplete({
source: function (request, response) {
alert("pepe");
$.ajax({
type: "POST",
url: "CuentaBusca",
contentType: "application/json; charset=utf-8",
dataType: "json",
minLength: 2,
delay: 100,
success: function (data) {
console.log( data);
response(data);
},
select: function (event, ui) {
return false;
}
});
}
});
});
</script>
console.log показывает мне следующий результат:
А в сервлете у меня есть следующий код, который также работает:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
DBConexion conex = null;
try {
conex = new DBConexion();
} catch (SQLException ex) {
throw new ServletException("Sucedio un Error al Realizar la Conexion a la Base de Datos !", ex);
}
Connection conn = conex.getConexion();
try {
PreparedStatement ps = conn.prepareStatement("select id,nombre from cuentas order by nombre");
ResultSet rs = ps.executeQuery();
JsonObject json_response = new JsonObject();
JsonArray data_json = new JsonArray();
while (rs.next()) {
JsonObject json = new JsonObject();
json.addProperty("id", rs.getInt("id"));
json.addProperty("nombre", rs.getString("nombre"));
data_json.add(json);
}
json_response.add("aaData", data_json);
response.setContentType("application/Json");
response.getWriter().write(json_response.toString());
} catch (SQLException ex) {
throw new ServletException("Sucedio un Error al Realizar la Conexion a la Base de Datos !", ex);
}
// Cierra la Conexion
try {
conex.closeConexion();
} catch (SQLException ex) {
throw new ServletException("Sucedio un Error al Cerrar la Conexion en la Base de Datos !", ex);
}
}
Я подозреваю, что возвращаюсь в неподходящем формате из сервлета, но не нашел более четкого объяснения. Есть идеи?
Привет,
Fernando