【问题标题】:return arraylist of objects back to an ajax call from servlet [closed]将对象的arraylist返回到servlet的ajax调用[关闭]
【发布时间】:2016-09-05 06:20:22
【问题描述】:

我通过脚本中的 ajax 调用将字符串值传递给 servlet,并在类对象中检索相应的数据并将其存储在 arraylist 中。现在我需要这个数组列表作为返回给 ajax 调用的“数据”。怎么做??

    `<script>
        $(document).ready(function(){
            var selected;

            $('#txtboxvalue').change(function(){
                selected = $('#txtboxvalue').val();

                  $.ajax({
                    url: "Servlet2",
                    type: "Post",
                    data: {"txtboxvalue":selected},
                    success : function(data)
                        {
                        //here is where I want to access the returned arraylist
                        }   
});
        });
</script>

小服务程序:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    ArrayList<Cust> list2=cusName.dispCustomer2(abcd);
PrintWriter out = response.getWriter();
out.println(list2);
}

但是这样传递是行不通的

【问题讨论】:

标签: java jquery json ajax arraylist


【解决方案1】:

您想要返回复杂的数据:客户列表。 一个好的格式是发送格式为 JSON 的列表。

在服务器端获取像 GSON 或 Jackson 这样的 JSON 库,并将列表序列化如下:

response.setContentType("application/json");
new Gson().toJson(list2, response.getWriter());

在客户端告诉 JQuery 你期望一个 JSON 响应。

  $.ajax({
      url: "Servlet2",
      type: "Post",
      data: {"txtboxvalue":selected},
      dataType: "json",
      success : function(list) {
          // list is the list as Javascript array
      }   

【讨论】:

  • 非常感谢。这解决了问题。
猜你喜欢
  • 2018-01-07
  • 2014-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-06
相关资源
最近更新 更多