微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax 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 {

        List<Map<String,Object>> dataList = new ArrayList<>();

        Map<String,Object> data1 = new HashMap<>();
        data1.put("name","张三");
        data1.put("age",20);
        dataList.add(data1);

        Map<String,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,IOException {
        doGet(request,response);
    }

}

ajax servlet返回json

代码中,我们首先定义了两个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技术来更新网页内容了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐