django js实现部分页面刷新

来源:互联网 发布:vim golang 插件 编辑:程序博客网 时间:2024/06/05 09:30
例子中,我用的是显示机器上的进程信息的表格,获取不同的机器的进程信息时,更新这个展示信息的表格,如下:


当我在输入框中输入ip时,我希望只是更新这个表格,页面其他部分不变,实现方式如下:
1、在原页面中设置这个表格的id为pstable
<table class="table table-striped" id="pstable">             <thead>               <tr>                 <th>user</th>                 <th>pid</th>                 <th>cmd</th>               </tr>             </thead>             <tbody>               {% for ps in info.ps_data %}               <tr>                 {% for item in ps %}                 <td>{{ item }}</td>                 {% endfor %}               </tr>               {% endfor %}             </tbody>     </table>

2、实现js

<script type="text/javascript">$(document).ready(function(){ $("#gobtn").click(function(){  var ip=$("#ip").val();                //获取输入框中的ip  $.post("/process/",{'hostip':ip},     //post函数到后端    function(data,status){              //回调函数         $("#pstable").html(data);      //将id为pstable的标签的html替换为返回的data         $("#ip").val(ip)               //将输入框的值改为查询的ip  });});});

3、view函数
def process_view(request):        hostip = request.POST.get('hostip')        logger.debug("host:%s" % hostip)        if hostip is None:                ps_data = GetHostPs('192.168.163.128')                info = {'username':request.user,'ps_data':ps_data}                template = 'process.html'                #return render(request,'process.html',{"info":info})        elif hostip:                ps_data = GetHostPs(hostip)                info = {'username':request.user,'ps_data':ps_data}                template = 'pstable.html'                #return render(request,'pstable.html',{"info":info})                    else:                ps_data = GetHostPs('192.168.163.128')                info = {'username':request.user,'ps_data':ps_data}                template = 'pstable.html'        return render(request,template,{"info":info})

4、pstable.html 在这个html定义好要根据ip获取到进程信息后的html代码
<thead>               <tr>                 <th>user</th>                 <th>pid</th>                 <th>cmd</th>               </tr>             </thead>             <tbody>               {% for ps in info.ps_data %}               <tr>                 {% for item in ps %}                 <td>{{ item }}</td>                 {% endfor %}               </tr>               {% endfor %}             <tbody>

当点击按钮查询指定ip的进程信息时,process()会判断这个ip的存在,如果这个ip存在,会将pstable.html保存到js函数中的data参数,然后js参数会调用回调函数,将id为pstable的tag的html替换为参数data保存的html,即pstable.html,从而局部修改页面,展示进程信息









5 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 去泰国旅游不会泰语和英语的怎么办 老板不发工资怎么办没签合同的 3d模型导进去材质丢失怎么办 七日杀显示载入中之后进不去怎么办 进京证过期了车在北京怎么办 微信打字时剪切的东西丢了怎么办 错过了医师定期考核报名时间怎么办 大学档案在自己手里放多年怎么办 档案在自己手里10年了怎么办 快递地址区域划分写错了怎么办 怀孕八个月肛门长个肉疙瘩怎么办呢 客户签了合同不要货了怎么办 不喂母乳宝宝只认识保姆了怎么办? 开创者比赛后没有买的鸽子怎么办 买回来小鸽子开家我敢了怎么办 小鸽子出壳后母鸽就不孵了怎么办 狗狗在笼子里一直叫怎么办 养了一年母鸽子不配对怎么办 血管翳云翳斑翳长满眼睛怎么办 鸽子训放50公里突然下雨了怎么办 安卓手机反应慢又卡怎么办 tcl安卓系统电视反应慢怎么办 狼人杀警长竞选一直平票怎么办 去驾校投诉教练被教练报复怎么办 哈尔滨机场大巴六点的飞机怎么办 山东德州恩城镇的农民怎么办养老险 我的世界联机平台房间进不去怎么办 验车时间过了3天怎么办 在携程订的机票和酒店不能退怎么办 千牛工作台中旺旺登录失败怎么办 掌通家园换手机号了忘了更改怎么办 qq注销了后绑定的全民k歌怎么办 小米账号绑定的手机号注销了怎么办 微信账号注销后绑定的手机号怎么办 微信账号不想用了注销不了怎么办 苹果手机掉了捡到不还怎么办 在工作中把和别人结下梁子了怎么办 在阿里巴巴上买的货物没发货怎么办 做了下颌角一边脸反复肿怎么办 玩广东11选5输50万怎么办 玩广东11选5输了十几万怎么办