我通过脚本中的ajax调用将字符串值传递给servlet,并在类对象中检索相应的数据并将其存储在arraylist中。现在我需要这个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>
的servlet:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ArrayList<Cust> list2=cusName.dispCustomer2(abcd);
PrintWriter out = response.getWriter();
out.println(list2);
}
但是像这样传球不起作用
答案 0 :(得分:2)
您想要返回复杂数据:客户列表。 一个好的格式是发送格式为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
}