赞
踩
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))
前端网页修改
window.jQuery || document.write("
$(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();
});
请输入查询key:
节点信息
#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实现网页动态更新的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
本文标题: Django+Ajax+jQuery实现网页动态更新的实例
本文地址: http://www.cppcns.com/jiaoben/python/229088.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。