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易忽视知识点小结
May 25 Python
Python读写ini文件的方法
May 28 Python
python使用matplotlib绘制柱状图教程
Feb 08 Python
Python中类的初始化特殊方法
Dec 01 Python
Python 实现选择排序的算法步骤
Apr 22 Python
使用python3+xlrd解析Excel的实例
May 04 Python
六行python代码的爱心曲线详解
May 17 Python
Django工程的分层结构详解
Jul 18 Python
解决Keras自带数据集与预训练model下载太慢问题
Jun 12 Python
用python进行视频剪辑
Nov 02 Python
使用Django的JsonResponse返回数据的实现
Jan 15 Python
变长双向rnn的正确使用姿势教学
May 31 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
php session应用实例 登录验证
2009/03/16 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
jquery 页面滚动到底部自动加载插件集合
2014/01/31 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
JQuery异步提交表单与文件上传功能示例
2017/01/12 Javascript
jQuery、zepto、js常用小技巧
2017/02/12 Javascript
浅谈React + Webpack 构建打包优化
2018/01/23 Javascript
vue2.0模拟锚点的实例
2018/03/14 Javascript
PM2自动部署代码步骤流程总结
2018/12/10 Javascript
vue 解除鼠标的监听事件的方法
2019/11/13 Javascript
Node.JS获取GET,POST数据之queryString模块使用方法详解
2020/02/06 Javascript
简单了解JavaScript弹窗实现代码
2020/05/07 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
vue flex 布局实现div均分自动换行的示例代码
2020/08/05 Javascript
详解Java中String JSONObject JSONArray List转换
2020/11/13 Javascript
[01:03:47]VP vs NewBee Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python获取网页上图片下载地址的方法
2015/03/11 Python
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
对python for 文件指定行读写操作详解
2018/12/29 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
基于python 将列表作为参数传入函数时的测试与理解
2020/06/05 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
html5录音功能实战示例
2019/03/25 HTML / CSS
html5 外链式实现加减乘除的代码
2019/09/04 HTML / CSS
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
Halston Heritage官网:简洁的日装,稍显奢华的晚装
2018/11/20 全球购物
英国在线泳装店:Simply Swim
2019/05/05 全球购物
贺卡寄语大全
2014/04/11 职场文书
医院见习报告范文
2014/11/03 职场文书
2014年驾驶员工作总结
2014/11/18 职场文书
逃课检讨书范文
2015/05/06 职场文书
情侣之间的道歉短信
2015/05/12 职场文书