【问题标题】:java ajax autocomplete not workingjava ajax自动完成不起作用
【发布时间】:2015-06-27 15:21:40
【问题描述】:

Ajax 自动完成功能不起作用。我调试了代码,发现在我编写 json 行的控制器中,调试器无法在那里调试。我也是新手,请帮帮我。

控制器

    response.setContentType("application/json");
        try {
                String term = request.getParameter("term");
                System.out.println("Data from ajax call " + term);

                AutoData a = new AutoData();
                a.setName(term);

                DataDao d = new DataDao();
                List<AutoData> data = d.getData();


                String searchList = new Gson().toJson(data);
                response.getWriter().write(searchList);
        } catch (Exception e) {
                System.err.println(e.getMessage());
        }
}

数据DAO

public class DataDao {
        private String sql;
        private ResultSet rs;


        public List<AutoData> getData(){
            List<AutoData> aData = new ArrayList<AutoData>();
            try{
            sql = "select * from userdetails";
            rs = DBConnection.executeQuery(sql);
            while(rs.next()){

                AutoData a = new AutoData();
                a.setName(rs.getString("userid"));
                aData.add(a);
            }
            }
            catch(Exception e){
                System.out.println(e.getMessage());
            }
            return aData;





}
}

AJAX 代码

$(document).ready(function() {
        $(function() {
                $("#search").autocomplete({     
                source : function(request, response) {
                $.ajax({
                        url : "AutoController",
                        type : "GET",
                        data : {
                                term : request.term
                        },
                        dataType : "json",
                        success : function(data) {
                                response(data);
                        }
                });
        }
});
});
});

【问题讨论】:

  • 函数名为 function 没有定义可变参数。不应该是 function(var a) 吗?
  • @Srinath - 当控制器返回结果时不工作。
  • 好吧,我在 javascript 上工作不多……你觉得哪部分代码有问题?我没有看到 控制器 返回任何东西
  • @Srinath - 此代码存在一些问题,调试在此行停止。 String searchList = new Gson().toJson(data);并且控制器正在返回在上述代码之后编写的搜索列表。
  • 尝试打印 searchList 数据元素以查看其中包含的内容...。如果没有某种数据值的堆栈跟踪,很难找到问题...最后一行是打印到 httpResponse 并且不返回

标签: java jquery ajax servlets


【解决方案1】:

我发现我没有在正确的文件夹中添加gson api。所以最好在添加 API 时确保。

【讨论】:

  • 没有API意味着它不会编译
猜你喜欢
  • 2015-05-06
  • 2017-12-29
  • 1970-01-01
  • 2014-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-07
相关资源
最近更新 更多