ajax根据ID查询数据库并返回Json格式数据返回js,使用append显示到页面。判断json值为[]或者[[]]的问题。
2017-05-16 18:47
1236 查看
ajax根据ID查询返回json并显示到页面,值为[]或者[[]]怎么判断。
Java后台代码@ResponseBody @RequestMapping(value="/queryCouponState",produces = "text/html;charset=utf-8") public String queryCoupon( HttpServletRequest request, Model model, String state) throws Exception{ //根据状态查询出来的List数据 List<CouponVo> coupon = couponSer.queryCouponInfo("uuid_id3",10000,state); //获取根据状态查询的数据条数 System.out.println("条数"+coupon.size()); System.err.println("状态"+state); model.addAttribute("coupon",coupon); JSONArray jsonArray = new JSONArray(); jsonArray.add(coupon); System.out.println("json数据"+jsonArray); if(coupon.size()==0){ return "error"; } return jsonArray.toString(); }
根据状态Id查询没有该状态的数据
根据状态Id查询有该状态的数据
根据查询的list集合条数是否大于0判断是否存在数据。
有则让返回到success,没有则让返回error
存在数据返回[{"name":"张三"}]样式, 不存在返回[] 或者多重数组的 [[ ]]时。
设置返回 return “error”; 时候就返回到JS的error那里了。因为返回格式应该是json格式,而我是返回String格式的”error”字符串,所以出错了,就返回到error里面了。
设置返回 return jsonArray.toString(); 时候就返回到JS的success里面,因为返回格式正确了,就返回到success里面了。
Js代码
function couponState(state){ var key; $.ajax({ type : "post", url : "/queryCouponState.htm", dataType : "json", data:{state:state}, success: function (data) { $(".table_coupon tr:not(:first)").remove(); $.each(data, function(i, item){ $.each(item,function(j,val){ $(".table_coupon").append( "<tr style='font-size: 14px;'>"+ "<td height='35'>"+ val.couponType.typeName +"</td>"+ "<td style='text-align: center;'>¥ " + val.couponType.couponPrice+"</td>"+ "<td style='text-align: center;'>"+ "<fmt:formatDate value='${dateObject}' pattern='yyyy-MM-dd HH:mm:ss' /> "+val.couponStartTime +" 开始"+ "<br />"+ "<fmt:formatDate value='${dateObjectend }' pattern='yyyy-MM-dd HH:mm:ss' /> "+val.couponEndTime +" 截至"+ "<br />"+ "<td>"+ val.couponType.availableDay +"</td>"+ "<td>"+ val.couponType.couponFloor +"</td>"+ "<td>"+ val.couponType.couponDesc +"</td>"+ "</tr>" ); $('.coupon-null > div').remove(); }); }); }, error: function (data) { $(".table_coupon tr:not(:first)").remove(); $('.coupon-null > div').remove(); $('.coupon-null').append( "<div class='empty_is'>"+ "<div class='empty_photo'>"+ "<img src='control/images/yhj.png' />"+ "</div>"+ "<div class='empty_text'>"+ "<b>您还没有可用的优惠券!</b>"+ "</div>"+ "<div class='clear_both'></div>"+ "</div>" ); } }); }
Js代码截图
成功返回:
失败返回:
html页面代码(用的是状态Id传参数)
<div class="mi-coupon-top"> <a onclick="couponState('Y')" class="wsy"> <span>未使用</span> </a> <a onclick="couponState('K')"> <span>已使用</span> </a> <a onclick="couponState('G')"> <span>已过期</span> </a> <a onclick="couponState('N')"> <span>未激活</span> </a> <input type="button" class="activation" onClick="edit()" value="优惠卷激活" /> </div>
html效果截图
查询有值截图:
查询无值截图:
在js写html页面时只需获最外面那层大的div然后 .append()属性就好了。为了方便写,最好在页面也好静态然后拷到 js 里面拼接一下就好了。
相关文章推荐
- php查询mysql中的数据,并将结果返回为JSON格式,提取JSON中的数据,写入页面不同的id号中
- 根据id查询数据(向前台返回json格式的数据)
- 通过查询数据库中的数据匹配在页面上:(set单条数据属性是在页面上的显示与foreach的不同) 通过ID修改提取位置表信息
- 使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
- Struts2 使用ajax访问action,返回json格式数据,提示error:There is no result type defined for type 'json'
- 下载文件名字乱码问题,json_encode解决Ajax 返回字符串数据不显示问题
- 在登录页面中js进行正则验证电话号码和邮箱地址,并使用ajax进行用户ID的数据库验证
- 在Action中查询出SQL SERVER表的数据,返回一个list。怎么在JSP页面中使用Struts标签,显示出表中的内容?(转)
- 庭审管理中动态显示今天起7日内的数据,动态查询,并根据已有数据判断新增和修改时的时间冲突问题(2)
- 【Servlet】在Servlet3.0中利用json+ajax把数据库查询出来的数据推向前台显示,无额外的json解析包
- FireFox中使用JQuery的ajaxfileupload插件返回JSON格式数据提示保存的解决方法。
- 关于js处理ajax请求返回json数据时出现页面缓存的解决方案(适用于showdialog)
- 数据库查询出的文本有格式的显示到页面的问题
- php执行数据库查询返回json格式数据
- 用ajax的同步请求解决登陆注册需要根据服务器返回数据判断是否能提交的问题
- php执行数据库查询返回json格式数据
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分
- Jquery 使用Ajax获取后台返回的Json数据后,页面处理
- Ajax请求ashx 返回 json 格式数据常见问题
- 庭审管理中动态显示今天起7日内的数据,动态查询,并根据已有数据判断新增和修改时的时间冲突问题