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 相关文章推荐
在Django框架中运行Python应用全攻略
Jul 17 Python
python操作列表的函数使用代码详解
Dec 28 Python
利用Python实现在同一网络中的本地文件共享方法
Jun 04 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
Jun 27 Python
解决python中画图时x,y轴名称出现中文乱码的问题
Jan 29 Python
python五子棋游戏的设计与实现
Jun 18 Python
Django REST framework 分页的实现代码
Jun 19 Python
详解Python time库的使用
Oct 10 Python
基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)
Apr 29 Python
python利用platform模块获取系统信息
Oct 09 Python
python 操作excel表格的方法
Dec 05 Python
python利用appium实现手机APP自动化的示例
Jan 26 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中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
2014/06/23 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
2014/07/22 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
prototype Element学习笔记(篇二)
2008/10/26 Javascript
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
Javascript this 关键字 详解
2014/10/22 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
jquery实现简易的移动端验证表单
2015/11/08 Javascript
基于jquery实现轮播特效
2016/04/22 Javascript
JS实现的简单表单验证功能示例
2017/10/13 Javascript
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
2018/09/27 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
Angular 多模块项目构建过程
2020/02/13 Javascript
vue实现分页的三种效果
2020/06/23 Javascript
通过python下载FTP上的文件夹的实现代码
2013/02/10 Python
python逐行读取文件内容的三种方法
2014/01/20 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
python实现大学人员管理系统
2019/10/25 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
学生个人自我鉴定范文
2014/03/28 职场文书
幼儿园保育员岗位职责
2014/04/13 职场文书
HR求职自荐信范文
2014/06/21 职场文书
2014年煤矿工人工作总结
2014/12/08 职场文书
伏羲庙导游词
2015/02/09 职场文书
追悼会答谢词范文
2015/09/29 职场文书
使用jpa之动态插入与修改(重写save)
2021/11/23 Java/Android