我想通過一個servlet接收數據來實現jQuery自動完成插件。 該腳本的工作原理,它確實從servlet中提取結果,但我無法在下拉菜單中正確呈現它。說我寫在搜索欄「HEL」,自動完成下拉列表是:jquery自動完成呈現問題
h
e
l
l
o
從我的理解中,自動完成插件應該接受一個數組,我認爲這可能是問題。 這是我的javascript代碼:
<script>
function getFilteredNames(request, response){
$.ajax({
type: "POST",
url: "../servlet/Autocomplete",
data: request,
success: function(data) {
response(data);
}
});
}
$(document).ready(function(){
$("#buscar").autocomplete({ source : getFilteredNames, minLength: 3});
});
</script>
這是servlet代碼的一部分:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String query = request.getParameter("term");
List<Socio> rs = new ArrayList<Socio>();
rs = SocioDAO.getSociosByQuery(query);
if (rs.isEmpty()) {
out.println("No hay coincidencias");
}
else {
Iterator <Socio> iterator = rs.iterator();
while (iterator.hasNext()) {
String nombre = (String) iterator.next().getNombre();
out.println(nombre);
}
}
任何建議,將不勝感激! 謝謝, 尼克
提供的實用通話也許我失去了一些東西,但是,看着JavaScript中,我沒有看到該請求是如何得到到servlet在所有 – KTastrophy 2012-02-13 19:28:56
我發送的數據與數據:請求,我通過使用request.getParameter(「term」)在servlet上選擇它,然後在搜索框中輸入。 – nicoconstanzo 2012-02-13 22:43:10
我明白了,但請求如何填充?我在自動完成功能中看到指定源函數是什麼......但是如何將參數傳遞給它?也就是說,請求和響應? – KTastrophy 2012-02-14 16:56:41