這篇文章將為大家詳細講解有關Django+Ajax+jQuery如何實現網頁動態更新,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
views.py中的修改
增加相應的請求處理函數:
def getdevjson(request): print 'get here' if ('key' in request.GET): searchkey = request.GET.get('key') return JsonResponse(search(searchkey)) else: return HttpResponse('Sorry!')
返回字符串中,既可以使用from django.http import JsonResponse,也可以使用HttpResponse(json.dumps(res))
前端網頁修改
<script type="text/javascript"> window.jQuery || document.write("<script src='../static/js/jquery.min.js'>" + "<" + "/script>"); </script> <script type="text/javascript"> $(function() { var submit_form = function(e) { $.ajax({ type : "GET", url : "/getdevjson?"+Math.random(), data : { key: $('#searchContent').val() }, dataType : "text", success : function(res){ $('#searchContent').focus().select(); //console.log(res); update(res); }, error : function() { alert("處理異常返回!");} }); return false; }; $('#calculate').bind('click', submit_form); $('input[type=text]').bind('keydown', function(e) { if (e.keyCode == 13) { submit_form(e); } }); $('#searchContent').focus(); }); </script>
<div class="divRight" id="divright1"> <div class="divRight" > <label id="lblSearch" class="cssLabelSearch">請輸入查詢key:</label> <input id="searchContent" type="text" size="40"></input> <input id="calculate" type="button" value="確定" ></input> </div> <br> <label id="lbl1" class="cssLabelClient">節點信息</label> <Textarea id="ClientInfoArea" readonly class="txtClientInfo"></Textarea> </div>
#calculate是一個按鈕,點擊動作綁定了提交函數submit_form,ajax的請求參數中,data中包含了查詢參數,success是請求成功后的動作,注意返回的res需要進行json解析才可以正確使用:root = JSON.parse(jsondata);update(res)是一個更新網頁內容的函數
路由配置修改
urls.py中修改如下:
from django.conf.urls import patterns, include, url from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', url(r'^getdevjson$','dev.views.getdevjson',name='getdevjson'), url(r'^','dev.views.index',name='index'), url(r'^admin/', include(admin.site.urls)), )
需要注意的是為了避免路由被覆蓋,將index的路由配置盡量放置在最后一行。
關于“Django+Ajax+jQuery如何實現網頁動態更新”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。