ajax返回json数据示例

时间:2023-03-09 01:13:17
ajax返回json数据示例

前端发送请求与接收数据:

$.ajax({
        type : "post",
        url : "/queryStudent",
        dataType : "JSON",
        async : false,
        contentType : "application/x-www-form-urlencoded; charset=utf-8",
        success : function(data) {
            data = eval("(" + data + ")");
            var jhtml = "";
            if (data.List.length > 0) {
                var yHtml = "";
                for ( var i = 0; i < data.List.length; i++) {
                    yHtml += "<div><a class=\"" + (i + 1) + "\">" + data.List[i].name + "</a></div>";
                }
                $("#info").append(yHtml);
            }
        }
    });

type:异步发送

url:请求地址,这里是通过web.xml中的servlet来识别,然后进入指定的servlet

dataType: 数据类型为json(另一种经常用的为xml)

contentType:请求头,告诉服务器这是表单提交

success : function(data):表示请求发送成功后执行的方法,data为返回的json数据

服务器端接收参数、查询数据、处理业务等,并且返回一条json格式的字符串:

在servlet中的doPost方法中写处理过程

List list ;

将处理好的数据放在对象list中,

JSONArray listjson = JSONArray.fromObject(list);定义json数组对象

String result = "{ \"Count\":" + count + ",\"List\":" + listjson.toString() + "}";

json数据在以上可以自主添加需要的数据,返回到前端时,用data.Count可以获得数据count;用data.List获得listjson.toString()

最后加上:

    response.setCharacterEncoding("UTF-8");
        response.setContentType("text/javascript");
        PrintWriter out = response.getWriter();
        out.print(result.toString());
        out.flush();
        out.close();