由于几天来我遇到了一个问题,当我调用自动完成函数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>
The console.log shows me the following result:
在servlet中,我有以下代码也可以正常工作:
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);
}
}
我怀疑我从servlet返回的格式不正确,但是我没有找到更清晰的解释。有什么想法吗?
问候, 费尔南多