Django+Ajax+jQuery实现网页动态更新的实例
views.py中的修改
增加相应的请求处理函数:
defgetdevjson(request): print'gethere' if('key'inrequest.GET): searchkey=request.GET.get('key') returnJsonResponse(search(searchkey)) else: returnHttpResponse('Sorry!')
返回字符串中,既可以使用fromdjango.httpimportJsonResponse,也可以使用HttpResponse(json.dumps(res))
前端网页修改
window.jQuery||document.write(" "+"<"+"/script>"); $(function(){ varsubmit_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("处理异常返回!");} }); returnfalse; }; $('#calculate').bind('click',submit_form); $('input[type=text]').bind('keydown',function(e){ if(e.keyCode==13){ submit_form(e); } }); $('#searchContent').focus(); });
请输入查询key:
#calculate是一个按钮,点击动作绑定了提交函数submit_form,ajax的请求参数中,data中包含了查询参数,success是请求成功后的动作,注意返回的res需要进行json解析才可以正确使用:root=JSON.parse(jsondata);update(res)是一个更新网页内容的函数
路由配置修改
urls.py中修改如下:
fromdjango.conf.urlsimportpatterns,include,url fromdjango.contribimportadmin 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实现网页动态更新的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。