django js实现部分页面刷新
2017-04-28 15:57
495 查看
例子中,我用的是显示机器上的进程信息的表格,获取不同的机器的进程信息时,更新这个展示信息的表格,如下:
当我在输入框中输入ip时,我希望只是更新这个表格,页面其他部分不变,实现方式如下:
1、在原页面中设置这个表格的id为pstable
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函数
4、pstable.html 在这个html定义好要根据ip获取到进程信息后的html代码
当点击按钮查询指定ip的进程信息时,process()会判断这个ip的存在,如果这个ip存在,会将pstable.html保存到js函数中的data参数,然后js参数会调用回调函数,将id为pstable的tag的html替换为参数data保存的html,即pstable.html,从而局部修改页面,展示进程信息
当我在输入框中输入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,从而局部修改页面,展示进程信息
相关文章推荐
- django js实现部分页面刷新的示例代码
- js界面刷新&Django使用Ajax实现页面无刷新评论回复功能
- js实现frame框架部分页面的刷新
- django 用jquery ajax提交form 实现刷新部分页面
- django+js+ajax实现刷新页面的方法
- 使用Ext.UpdateManager实现页面任意部分自动刷新处理
- js计时器实现页面刷新和幻灯片效果
- 刷新页面实现方式总结(HTML,ASP,JS)
- JS 实现页面刷新的多种方法
- js实现页面自动刷新方法总结(转)
- JS+Ajax+Jquery实现页面无刷新分页以及分组 超强的实现 加上你的CSS完全可以与EXT媲美哦
- ASP.NET 页面刷新的实现方法(包括html,js)
- 刷新页面实现方式总结(HTML,ASP,JS)
- [导入]使用Ext.UpdateManager实现页面任意部分自动刷新处理
- javascript(js)自动刷新页面的实现方法总结
- (js)用window.onload实现刷新页面的导航栏状态的切换
- ASP.NET 页面刷新的实现方法(包括html,js)
- 利用js实现对页面的自动刷新
- 用js实现的刷新页面的代码,比较全
- js+css实现页面部分内容打印