Web局部刷新的实现

简介: Web局部刷新的实现

这是在做传感器的时候遇到的问题,当传感器出过来数值时,数据库更新,然后页面也跟着刷新,只要把数字刷新就好,不用刷新整个页面。


方法。利用ajax的数据传输方式来实现更新。


首先导入jquery的包,然后在引用<script src="js/jquery-1.11.3.min.js"></script>


jsp端

<script>
  $(document).ready(function() {//页面加载完成后执行此函数
    var tpid=<%=pid%>;
    fresh();
  });
  function fresh() {
    var tpid=<%=pid%>;
    //alert(tpid);
     $.ajax({
        type : "POST",//
        url : "genxin.do",//请求地址
        dataType : 'json',//传输类型
        data : "pid=" + tpid,//输出数据
        success : function(data) {//服务器返回的值,这里面是你要刷新的东西
          var table = $(".table");
          table.empty();
          table.append("<tr><td>药品ID</td><td>药名</td><td>药品需重</td><td>已取重量</td><td>抓药进度</td></tr>");
          $.each(data,function(index,val){//它可以遍历一维数组、多维数组、DOM, JSON 等等格式
            table.append("<tr><td>"+val.mid+"</td><td>"+val.mname+"</td><td>"+val.mweight+"</td><td>"+val.yiqu+"</td><td>"+val.jindu+"</td></tr>");
          });
        },error:function(){
          alert("error");
        } 
    });
     setTimeout("fresh()", 1000);//每隔一秒递归调用此函数,实现刷新的功能。
  }
</script>

服务器端:

List<Prescription> list = DbPoolOp.gets_prescription_list((String)(request.getParameter("pid"))); System.out.println((String)(request.getParameter("pid"))); request.setCharacterEncoding("utf-8"); // 这里不设置编码会有乱码 response.setContentType("text/html;charset=utf-8"); response.setHeader("Cache-Control", "no-cache"); PrintWriter out = response.getWriter(); //String sb="[{\"people\":\"hyyyhhy\"},{\"peopl\":\"11111\"}]"; String sb="["; for (int i = 0; i < list.size(); i++) { if (i > 0) { sb+=","; //如果有多个值,值中间加逗号 } sb+="{\"mid\":\""+ list.get(i).getMid() + "\","; // 第一个参数名name任意 sb+="\"mname\":\"" + list.get(i).getMname() + "\","; // 第二个参数名 sb+="\"mweight\":\"" + list.get(i).getMweight() + "\","; // 第三个参数名 Medicine medic = DbPoolOp.findMedicine_by_id(list.get(i).getMid()); double yiqu = medic.getMweight() - medic.getNowweight(); sb+="\"yiqu\":\"" + yiqu + "\","; // 第四个个参数名 sb+="\"jindu\":\"" + yiqu*100/list.get(i).getMweight() + "\"}";// 第五个个参数名 } sb+="]"; System.out.println(sb); out.println(sb); // 数据传到jsp里面的data里面 out.flush(); out.close();

json的格式 String sb="[{\"people\":\"hyyyhhy\"},{\"peopl\":\"11111\"}]";一个{}里面代表组数据

相关文章
|
2月前
|
存储
在 Web 中判断页面是不是刷新
【9月更文挑战第10天】在Web开发中,判断页面是否刷新有多种方法:1) 监听`popstate`事件,检测用户是否通过历史记录访问页面;2) 记录并比较页面加载时间戳,若相差极小,则可能为刷新;3) 利用本地存储设置特定值,若该值不存在或不符合预期,则页面可能被刷新。然而,这些方法并非绝对准确。
168 3
|
消息中间件 网络协议 前端开发
SpringBoot轻松整合WebSocket,实现Web在线聊天室
前面为大家讲述了 Spring Boot的整合Redis、RabbitMQ、Elasticsearch等各种框架组件;随着移动互联网的发展,服务端消息数据推送已经是一个非常重要、非常普遍的基础功能。今天就和大家聊聊在SpringBoot轻松整合WebSocket,实现Web在线聊天室,希望能对大家有所帮助。
SpringBoot轻松整合WebSocket,实现Web在线聊天室
|
安全 算法 生物认证
Python 实现Web容器指纹识别
当今的Web安全行业在进行渗透测试时普遍第一步就是去识别目标网站的指纹,从而进一步根据目标框架进行针对性的安全测试,指纹识别的原理其实很简单,目前主流的识别方式有下面这几种。
520 0
Python 实现Web容器指纹识别
|
测试技术 iOS开发
Flutter Web网站之最简方式实现暗黑主题无缝切换
Flutter Web网站之最简方式实现暗黑主题无缝切换
307 0
Flutter Web网站之最简方式实现暗黑主题无缝切换
|
前端开发 JavaScript API
借助 Web Animations API 实现一个鼠标跟随偏移动画
借助 Web Animations API 实现一个鼠标跟随偏移动画
315 0
借助 Web Animations API 实现一个鼠标跟随偏移动画
|
机器学习/深度学习 传感器 人工智能
web端实现AR人脸特效
直播、短视频、在线会议等应用越来越多地进入人们的生活,随之诞生的是丰富的各类创意玩法与新鲜体验,其中大量应用了以AI检测和图形渲染为基础的AR技术。
268 0
web端实现AR人脸特效
|
Java Maven 开发工具
毕业设计:基于Web实现多用户宿舍管理系统
毕业设计:基于Web实现多用户宿舍管理系统
145 0
毕业设计:基于Web实现多用户宿舍管理系统
|
前端开发 JavaScript Java
springboot实现web国际化
springboot实现web国际化
springboot实现web国际化
|
数据安全/隐私保护
实现Web端指纹登录(下)
实现Web端指纹登录(下)
实现Web端指纹登录(下)
|
存储 前端开发 生物认证
实现Web端指纹登录(上)
实现Web端指纹登录(上)
实现Web端指纹登录(上)