django+js+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(){
django admin 自定义页面$.ajax({
url: './terminal_svr',
type: 'POST',
data: {},
dataType: 'json',
timeout: 10000,
success: function(result) {
if ( sult == "post_success" ) {
$("#ntfText").html("发起成功");
}else {
$("#ntfText").html("重复发起了");
}
}
});
});
</script>
在这⾥我们能在data⾥⾯填写⼀些json格式的数据结构,这样就能附带⼀些消息提供给服务器做调⽤。当调⽤成功之后他将会回调function(result)。这种写法是js的异步惯⽤写法,当服务器做出相应之后也我们能通过jQuery框架直接去修改id=ntfText部分的html字符串了。
django部分
第⼀步:我们先定义django的url相应的映射
url(r'^terminal_svr', inal_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(('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程序设计有所帮助。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。