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 命令行非阻塞输入的小例子
Sep 27 Python
linux系统使用python获取内存使用信息脚本分享
Jan 15 Python
Python的collections模块中的OrderedDict有序字典
Jul 07 Python
简单谈谈python中的多进程
Nov 06 Python
python中强大的format函数实例详解
Dec 05 Python
python实现nao机器人手臂动作控制
Apr 29 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
Jul 15 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
Aug 09 Python
Pycharm配置PyQt5环境的教程
Apr 02 Python
spyder 在控制台(console)执行python文件,debug python程序方式
Apr 20 Python
pymongo insert_many 批量插入的实例
Dec 05 Python
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
Jun 22 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
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
浅谈PHP中output_buffering
2015/07/13 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
php分页查询mysql结果的base64处理方法示例
2017/05/18 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
Add a Formatted Table to a Word Document
2007/06/15 Javascript
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
2011/07/26 Javascript
为Javascript中的String对象添加去除左右空格的方法(示例代码)
2013/11/30 Javascript
JavaScript监听和禁用浏览器回车事件实例
2015/01/31 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
JavaScript实现解析INI文件内容的方法
2016/11/17 Javascript
Angularjs cookie 操作实例详解
2017/09/27 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
解决vue select当前value没有更新到vue对象属性的问题
2018/08/30 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
javascript实现简单打字游戏
2019/10/29 Javascript
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
Python fileinput模块使用实例
2015/05/28 Python
python生成IP段的方法
2015/07/07 Python
python实现发送邮件功能
2017/07/22 Python
Python二叉树定义与遍历方法实例分析
2018/05/25 Python
Python 经典面试题 21 道【不可错过】
2018/09/21 Python
python实现beta分布概率密度函数的方法
2019/07/08 Python
Python 控制终端输出文字的实例
2019/07/12 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
HTML5实现经典坦克大战坦克乱走还能发出一个子弹
2013/09/02 HTML / CSS
canvas离屏技术与放大镜实现代码示例
2018/08/31 HTML / CSS
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
元旦晚会主持词
2014/03/24 职场文书
材料专业大学毕业生自荐书
2014/07/02 职场文书
2014年公司工作总结
2014/11/22 职场文书
2016党校学习心得体会
2016/01/07 职场文书
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python