前端发送请求与接收数据:
$.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();