jquery自动完成显示没有搜索结果,但作为响应

时间:2013-04-25 06:32:53

标签: jquery jsp autocomplete

我正在尝试在java / jsp项目中实现jquery自动完成。

即使将术语带到服务器,自动完成功能也能正确执行。服务器也发送必要的响应,这在开发人员工具中是可见的。问题是,即使在收到回复后,自动填充功能也会显示No search results

这是我的ajax jsp页面 - ajaxOtherLocations.jsp - 我在那里查询结果。

<%
  String query = (String)request.getParameter("term");
  System.out.println(query);
  LocationDAO locationModel = new LocationDAO();
  ArrayList<LocationBean> locations = locationModel.getLocationsByType("others");

  for( LocationBean location : locations )
  {
   out.print(location.getLocationName()+"\n");
  }
%>

在网络标签中的开发者工具中,我可以看到请求正在发送到上面的页面,响应类似于......

LBNagar
Hitech City
Jubilee Hills
Film Nagar
Lakdikapool
Koti
Dilsukhnagar

您可以看到所有由line-end字符分隔的内容。

我正在调用这个autocomplete函数......

$(".auto-complete").keypress(function(){
    $(this).autocomplete({source:"ajax/ajaxOtherLocations.jsp"});
    });

我在哪里做错了?

注意: - 我接受了本教程中的想法 - http://www.java4s.com/jquery-tutorials/example-get-autocomplete-feature-in-javajsp-with-jquery-api/

1 个答案:

答案 0 :(得分:2)

我认为您正在使用jquery auto complete,在这种情况下,您需要以json格式返回数据。您可以参考以下链接:

http://jqueryui.com/autocomplete/#remote-jsonp