首页 技术 正文
技术 2022年11月17日
0 收藏 511 点赞 3,774 浏览 1191 个字

Django使用jQuery的post方法需要解决两个问题:

1.Django中为了防止跨站请求,在post提交时都会带上csrf_token,利用Jquery进行post请求也需要;否则就会出现403 forbidden错误

2.在Django的view中,如何返回json串给jquery

view方法如下所示:

  1. def get_productitem(request,*callback_args):
  2. productid = request.POST.get(‘productid’)
  3. rtn = dict()
  4. if productid is not None:
  5. productitemlist = Producitem.objects.filter(productid=productid).all()
  6. for productitemitem in productitemlist:
  7. rtn[productitemitem.id] = “%s(%s)”%(productitemitem.itemname,productitemitem.itemversion)
  8. return HttpResponse(json.dumps(rtn),mimetype=’application/json’)

template中的jquery请求方法如下所示:

  1. $.ajaxSetup({
  2. beforeSend: function(xhr, settings){
  3. var csrftoken = $.cookie(‘csrftoken’);
  4. xhr.setRequestHeader(“X-CSRFToken”, csrftoken);
  5. }
  6. });
  7. changeProduct();
  8. function changeProduct(){
  9. var productid = $(“#productid”).val();
  10. if(productid == null){
  11. return;
  12. }
  13. jQuery.post(‘/getProductitem’,{
  14. productid:productid
  15. },function(dat){
  16. var productitemid = $(“#productitemid”);
  17. var options = ”;
  18. for(jsonkey in dat){
  19. options += “<option value='” + jsonkey + “‘>” + dat[jsonkey] + “</option>”;
  20. }
  21. if(options != ”){
  22. productitemid.html(options);
  23. }
  24. });
  25. }

记得,如果要是用$.cookie方法,需要引入jquery.cookie.js文件。

同时注意在jquery所在页面的form表单里加入{% csrf_token %},否则Jquery post的X-CSRFToken头部为空。

上一篇: KVC 和 KVO
下一篇: clearfix的应用
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,997
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,511
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,356
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,139
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,770
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,848