ajax servlet返回json
导读:Ajax技术是一种在Web应用中常用的技术,可以异步交换数据,使页面不必刷新就能与服务器交互。在AJAX中,服务端通过Servlet返回JSON格式的数据,从而实现前后端数据的交互。下面我们就来看一下如何使用Servlet返回JSON数据。...
Ajax技术是一种在Web应用中常用的技术,可以异步交换数据,使页面不必刷新就能与服务器交互。在AJAX中,服务端通过Servlet返回JSON格式的数据,从而实现前后端数据的交互。下面我们就来看一下如何使用Servlet返回JSON数据。
import java.io.IOException; import java.io.PrintWriter; import java.util.*; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson.JSON; @WebServlet("/getData")public class GetDataServlet extends HttpServlet { private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ListMapString,Object> > dataList = new ArrayList> (); MapString,Object> data1 = new HashMap> (); data1.put("name", "张三"); data1.put("age", 20); dataList.add(data1); MapString,Object> data2 = new HashMap> (); data2.put("name", "李四"); data2.put("age", 30); dataList.add(data2); String jsonData = JSON.toJSONString(dataList); response.setContentType("application/json; charset=UTF-8"); PrintWriter out = response.getWriter(); out.print(jsonData); out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
在代码中,我们首先定义了两个Map对象,每个Map对象都有两个键值对,表示一个人的姓名和年龄。然后将两个Map对象添加到List中,并将List转换为JSON字符串。最后,设置ContentType为application/json,通过PrintWriter输出JSON字符串。
在前端页面中,我们可以使用jQuery的$.ajax()方法来向Servlet发送请求,并用success回调函数来处理JSON数据:
$.ajax({ url: "getData", type: "get", dataType: "json", success: function(data) { $.each(data, function(index, item) { var name = item.name; var age = item.age; var html = "tr> td> " + name + "/td> td> " + age + "/td> /tr> "; $("#dataTable").append(html); } ); } } );
在回调函数中,我们使用$.each()方法遍历返回的JSON数据,并将每个人的姓名和年龄显示在表格行中。
如此一来,我们就成功地使用Servlet返回JSON数据,并通过AJAX技术来更新网页内容了。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ajax servlet返回json
本文地址: https://pptw.com/jishu/514432.html