久久96国产精品久久久-久久发布国产伦子伦精品-久久精品国产精品青草-久久天天躁夜夜躁狠狠85麻豆

技術員聯盟提供win764位系統下載,win10,win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當前位置:主頁 > 教程 > 服務器類 >

django+js+ajax實現刷新頁面的詳細方法

來源:技術員聯盟┆發布時間:2017-09-27 00:12┆點擊:

在服務器開發的時候,為了方便將服務器對外開一個接口來操作,可以使用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串返回一個字串給前段來判斷是否操作成功。