django+js+ajax實現刷新頁面的方法
本文實例講述了django+js+ajax實現刷新頁面的方法。分享給大家供大家參考,具體如下:
在服務器開發(fā)的時候,為了方便將服務器對外開一個接口來操作,可以使用django制作網頁,通過頁面來操作服務器。這樣可以將服務器的維護工作暴漏在更加友好的界面操作,而非通過SecureCRT去敲指令。而且還能提供給策劃運維人員來處理一些常規(guī)的事情。
這里將會講解一個非常小的知識點:
① js如何發(fā)起一次請求
② django如何響應請求
③ js接收到響應如何區(qū)域刷新頁面
js部分
我們先在html中定義一個button,并且將id設置成btnTerminalSvr。定義一個反饋的靜態(tài)標題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("發(fā)起成功"); }else { $("#ntfText").html("重復發(fā)起了"); } } }); }); </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自身的登陸驗證系統(tǒng) 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編碼操作技巧總結》、《Python圖片操作技巧總結》、《Python數據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
相關文章
python讀取json文件并將數據插入到mongodb的方法
這篇文章主要介紹了python讀取json文件并將數據插入到mongodb的方法,實例分析了Python操作json及mongodb數據庫的技巧,需要的朋友可以參考下2015-03-03利用python讀取YUV文件 轉RGB 8bit/10bit通用
今天小編就為大家分享一篇利用python讀取YUV文件 轉RGB 8bit/10bit通用,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12