django+js+ajax实现刷新页面的方法


Posted in Python onMay 22, 2017

本文实例讲述了django+js+ajax实现刷新页面的方法。分享给大家供大家参考,具体如下:

在服务器开发的时候,为了方便将服务器对外开一个接口来操作,可以使用django制作网页,通过页面来操作服务器。这样可以将服务器的维护工作暴漏在更加友好的界面操作,而非通过SecureCRT去敲指令。而且还能提供给策划运维人员来处理一些常规的事情。

这里将会讲解一个非常小的知识点:

① js如何发起一次请求
② django如何响应请求
③ js接收到响应如何区域刷新页面

js部分

我们先在html中定义一个button,并且将id设置成btnTerminalSvr。定义一个反馈的静态标题ntfText

<h2 id="ntfText" >就绪</h2></br>
<button type="button" class="btn btn-success" id="btnTerminalSvr">关闭服务器</button>

编写js来响应这个button的事件

<script type="text/javascript">
 $('#btnTerminalSvr').on('click', function () {
    alert('嘿,我听说您点击了按钮...' );
    ...
  });
</script>

完善一次ajax请求的请求调用,以及回调之后的处理:

<script type="text/javascript">
 $("#btnTerminalSvr").click(function(){
     $.ajax({
        url: './terminal_svr',
        type: 'POST',
        data: {},
        dataType: 'json',
        timeout: 10000,
        success: function(result) {
        if ( result.result == "post_success" ) {
          $("#ntfText").html("发起成功");
        }else {
          $("#ntfText").html("重复发起了");
        }
        }
       });
  });
</script>

在这里我们能在data里面填写一些json格式的数据结构,这样就能附带一些消息提供给服务器做调用。当调用成功之后他将会回调function(result)。这种写法是js的异步惯用写法,当服务器做出相应之后也我们能通过jQuery框架直接去修改id=ntfText部分的html字符串了。

django部分

第一步:我们先定义django的url相应的映射

url(r'^terminal_svr', views.terminal_svr,name='terminal_svr'),

第二步:在views.py中实现这个处理函数

from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def terminal_svr(request):
  # 这里利用了django自身的登陆验证系统
  if not request.user.is_authenticated():
    return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/admin/'))
  doSomething to terminal svr
  a = {}
  a["result"] = "post_success"
  return HttpResponse(json.dumps(a), content_type='application/json')

这块就比较简单了,我们可以读取request中的json传过来的信息,并且当操作成功后通过json串返回一个字串给前段来判断是否操作成功。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python使用py2exe打包程序介绍
Nov 20 Python
Python实现压缩和解压缩ZIP文件的方法分析
Sep 28 Python
python中实现精确的浮点数运算详解
Nov 02 Python
1 行 Python 代码快速实现 FTP 服务器
Jan 25 Python
Python实现获取前100组勾股数的方法示例
May 04 Python
python使用thrift教程的方法示例
Mar 21 Python
用sqlalchemy构建Django连接池的实例
Aug 29 Python
Python脚本去除文件的只读性操作
Mar 05 Python
python 实现仿微信聊天时间格式化显示的代码
Apr 17 Python
Python CSS选择器爬取京东网商品信息过程解析
Jun 01 Python
基于python实现ROC曲线绘制广场解析
Jun 28 Python
python数字图像处理:图像的绘制
Jun 28 Python
Python正则表达式经典入门教程
May 22 #Python
Python AES加密模块用法分析
May 22 #Python
Python 安装setuptools和pip工具操作方法(必看)
May 22 #Python
对Python进行数据分析_关于Package的安装问题
May 22 #Python
详解python之配置日志的几种方式
May 22 #Python
多版本Python共存的配置方法
May 22 #Python
Python中元组,列表,字典的区别
May 21 #Python
You might like
模拟OICQ的实现思路和核心程序(三)
2006/10/09 PHP
亲密接触PHP之PHP语法学习笔记1
2006/12/17 PHP
php实现webservice实例
2014/11/06 PHP
php支付宝接口用法分析
2015/01/04 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
图片之间的切换
2006/06/26 Javascript
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
20款超赞的jQuery插件 Web开发人员必备
2011/02/26 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
JavaScript中的类与实例实现方法
2015/01/23 Javascript
Node.js node-schedule定时任务隔多少分钟执行一次的方法
2015/02/10 Javascript
jquery 插件实现多行文本框[textarea]自动高度
2015/03/04 Javascript
Bootstrap精简教程中秋大放送
2016/09/15 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
详解Nuxt.js中使用Element-UI填坑
2019/09/06 Javascript
layui将table转化表单显示的方法(即table.render转为表单展示)
2019/09/24 Javascript
微信小程序实现导航栏和内容上下联动功能代码
2020/06/29 Javascript
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
python中根据字符串调用函数的实现方法
2016/06/12 Python
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
2019/05/21 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
python框架Django实战商城项目之工程搭建过程图文详解
2020/03/09 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
新东网科技Java笔试题
2012/07/13 面试题
毕业生实习鉴定
2013/12/11 职场文书
廉洁使者实施方案
2014/03/29 职场文书
联谊活动总结
2014/08/28 职场文书
2015年学校少先队工作总结
2015/07/20 职场文书
教师师德承诺书2016
2016/03/25 职场文书
2019各种保证书范文
2019/06/24 职场文书