django+js+ajax实现刷新页面的方法
作者:erlang_hell 发布时间:2021-04-19 05:22:20
标签:django,ajax,刷新页面
本文实例讲述了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编写从ZabbixAPI获取信息此脚本用Python3.6执行是OK的。# -*- coding: utf-8 -*-impor
- 需要selenium控制的chrome向下滑动,自动加载一些内容,核心代码是:browser.execute_script("wi
- 1. yum list installed | grep php 查看安装的php版本mod_php72w.x86_64 7.2.1-1.w
- 回顾我们的python制作小游戏之路,几篇非常精彩的文章我们用python实现了坦克大战python制作坦克大战我们用python实现了飞船
- 0 程序环境与所学函数本章程序运行需要导入下面三个库,并定义了一个显示图像的函数所学函数##放大、缩小cv.resize(img,dsize
- python编写计算器,供大家参考,具体内容如下(1)计算器界面如下:(2)基本满足了计算器的所有需求,使用时不可键盘输入,只能鼠标点击左键
- netcdf是气候数据中的主流格式,当涉及到大范围的全球数万个格网点数据时,使用python脚本可以较快地读取与处理。import netC
- 打开在节点中加入一句:max_allowed_packet=5M 将MySQL的容量扩大到5M  
- Mysql的connector/net5.0下载地址: http://dev.mysql.com/get/Downloads/Connect
- 前言Go语言是Google内部主推的语言,它作为一门全新的静态类型开发语言,与当前的开发语言相比具有许多令人兴奋不已的新特性。专门针对多处理
- 本文实例讲述了mysql代码执行结构。分享给大家供大家参考,具体如下:本文内容:什么是代码执行结构顺序结构分支结构循环结构 首发日
- 常见的限流算法固定窗口计数器算法固定窗口计数器算法将时间分为固定大小的窗口,例如1秒。在每个窗口中,服务会记录它接收到的请求数。如果在一个窗
- 首先你要确定错误的原因: 让IE显示详细的出错信息: 菜单--工具--Internet选项--高级--显示友好的HTTP错误信息,去掉这个选
- 本篇我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数、学习读写文件的方法,并尝试函数式编程
- 一、基本概述目前电脑上已经下载了MongoDB数据库、navicat for mongodb作为mongoDB的可视化工具,形如navica
- 1、涉及到图的对比会用到子图形式展示,先看看效果2、绘制代码如下accuracy_alexnet_clef = [78.05, 78.43,
- 本文实例讲述了PHP获取客户端及服务器端IP的封装类。分享给大家供大家参考,具体如下:客户端IP相关的变量:1. $_SERVER['
- 注意:如果您尚未阅读过原来那篇老文章《悟透JavaScript》,请先行阅读该文,以了解上下文关系。在上面的示例中,我们定义了两个语法甘露,
- 双击编辑功能如何实现:例如:标题 (鼠标双击“标题”文字 即出现可编辑的输入框形式及提交按钮) <!D
- 1.安装pm2 : npm install pm2 -gd这时在命令行下执行pm2命令可能找不到,需要执行如下命令1.创建软链接:ln -s