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
