浅谈ajax在jquery中的请求和servlet中的响应

时间:2021-05-18

在jsp中,首先,你需要导入jquery的架包:

获取可返回站点的根路径:

<% String path = request.getContextPath(); %>

在jquery中写ajax请求:

<script type="text/javascript"> $(function(){ $(".B").click(function(){ $.ajax({ type: "GET", //对应servlet中的方法 url: "<%=path%>" + "/queryEvaluateByuserId.do", //返回是json数据 dataType: "json", async:false, data:{ }, success: function(data){ str = ""; if(data != null){ //循环表单列表 for (var i in data) { var num = parseInt(i) + 1 ; str +="<tr><td>" + num + "</td><td>" + data[i]['name'] + "</td><td>" + data[i]['price'] + "元</td>" + "</tr>"; } $(".trtd4").after(str); }else{ } }, error: function(data){ } }) }); }</script>

jsp部分:

<div class="tab-pane" id="B" style="text-align:center;"> <div class="row marg" > <table border="2 " style="width:80%;text-align:center;"> <tr class="trtd4"> <th>序号</th> <th>业主名</th> <th>金额</th> </tr> </table> </div> </div>

在servlet中用到了阿里巴巴的快速转换json的包com.alibaba.fastjson.JSON:

private void queryEvaluateByuserId(HttpServletRequest request, HttpServletResponse response) throws SQLException, IOException, ServletException{ HttpSession session=request.getSession(); request.setCharacterEncoding("UTF-8"); response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); Cookie[] cookies = request.getCookies(); int ownerId = 0; for (int i = 0; i < cookies.length; i++) { Cookie cookie = cookies[i]; if (cookie.getName().equals("ownerId")) { ownerId = Integer.parseInt(cookie.getValue()); } } List<Order> orderList = new ArrayList<>(); List<Evaluate> queryEvaluateList = new ArrayList<>(); orderList = orderServiceImpl.queryOrderList(ownerId, null, null, null, null, null); List<Map<String, String>> workers = new ArrayList<Map<String, String>>(); for(int i = 0;i < orderList.size();i++){ Map<String,String> order = new HashMap<String, String>(); order.put("description", orderList.get(i).getDescription()); order.put("name", orderList.get(i).getOwnerName()); System.out.println(orderList.get(i).getDescription()); order.put("type",orderList.get(i).getTypeName()); queryEvaluateList = orderServiceImpl.queryEvaluateListByUserId(orderList.get(i).getId()); order.put("comment", queryEvaluateList.get(0).getComment()); List<Allocation> allocation = orderServiceImpl.queryAllocationByOrderId(orderList.get(i).getId()); order.put("price", String.valueOf(allocation.get(0).getPrice())); System.out.println(order); workers.add(order); } //将map键值对转换成json,传给jsp response.getOutputStream().write(JSON.toJSONBytes(workers)); }

以上这篇浅谈ajax在jquery中的请求和servlet中的响应就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章