ajax数据交互代码,Django中使用jquery的ajax进行数据交互的实例代码

jquery框架中提供了$.ajax、$.get、$.post方法,用于进行异步交互,由于Django中默认使用CSRF约束,推荐使用$.get

示例:实现省市区的选择

最终实现效果如图:

6c1724a4fdbc190d4befc11299057678.png

将jquery文件拷贝到static/js/目录下

6be5ed17ae7aebd8e56cd323f92b020a.png

打开booktest/views.py文件,定义视图area1,用于显示下拉列表

#提供显示下拉列表的控件,供用户操作

def area1(request):

return render(request,'booktest/area1.html')

打开booktest/urls.py文件,配置url

url('^area1/$',views.area1),

在templates/booktest/目录下创建area1.html

983315912a4bf5a15544c4a654a73329.gif

55868ba5f99df3566aa72bc5346cd74b.gif

Title

$(function () {

$.get('/sheng/',function (data) {//{slist:[]}

var slist=data.slist;//[{},{},{}...]

var sheng=$('#sheng');

$.each(slist,function (i,n) {

//n==>{id:,title:}

sheng.append(''+n.title+'')

});

});

$('#sheng').change(function () {

var sid=$(this).val();

if(sid!='0'){

$.get('/shi/',{'sid':sid},function (data) {

var slist=data.slist;

var shi=$('#shi').empty().append('请选择');

$('#qu').empty().append('请选择');

$.each(slist,function (i,n) {

shi.append(''+n.title+'');

});

});

}

});

$('#shi').change(function () {

var sid=$(this).val();

if(sid!='0'){

$.get('/shi/',{'sid':sid},function (data) {

var slist=data.slist;

var shi=$('#qu').empty().append('请选择');

$.each(slist,function (i,n) {

shi.append(''+n.title+'');

});

});

}

});

});

请选择

请选择

请选择

运行服务器,在浏览器中输入如下网址

浏览效果如下图

6a6b1d11e1f96cc7dfdfe051a19fc183.png

打开booktest/views.py文件,定义视图sheng,用于获取省信息

url('^sheng/$',views.sheng),

983315912a4bf5a15544c4a654a73329.gif

55868ba5f99df3566aa72bc5346cd74b.gif

from django.http import JsonResponse

def sheng(request):

slist=AreaInfo.objects.filter(aParent__isnull=True)

'''

[{id:,title:},{},{}]

'''

slist2=[]

for s in slist:

slist2.append({'id':s.id,'title':s.atitle})

return JsonResponse({'slist':slist2})

打开booktest/urls.py文件,配置url

url('^sheng/$',views.sheng),

在浏览器中输入如下网址

http://127.0.0.1:8000/sheng/

浏览效果如下图

39e1e27d3b32684cc88d124892daefd0.png

打开booktest/views.py文件,定义视图shi,用于根据编号获取对应的子级信息,如果传递的是省编号则获取市信息,如果传递的是市编号则获取区县信息

983315912a4bf5a15544c4a654a73329.gif

55868ba5f99df3566aa72bc5346cd74b.gif

#根据pid查询子级区域信息

def shi(request):

sid=request.GET.get('sid')

slist=AreaInfo.objects.filter(aParent_id=sid)

slist2=[]

for s in slist:

slist2.append({'id':s.id,'title':s.atitle})

return JsonResponse({'slist':slist2})

打开booktest/urls.py文件,配置url

url('^shi/$',views.shi),

在浏览器中输入如下网址

浏览效果如下图

cb154e19b5992daff1f65b3af57e34f9.png

在浏览器中输入如下网址

选择效果如下图

1231eeca614386fa38862706168b88c3.png

总结

以上所述是小编给大家介绍的Django中使用jquery的ajax进行数据交互的实例代码,希望对大家有所帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值