我试图通过jQuery ajax调用将一个网页的数值(ids)列表传递给另一个.我无法弄清楚如何传递和读取列表中的所有值.我可以成功地发布和读取1个值,但不是多个值.这是我到目前为止
jQuery的:
var postUrl = "http://localhost:8000/ingredients/"; $('li').click(function(){ values = [1,2]; $.ajax({ url: postUrl,type: 'POST',data: {'terid': values},Traditional: true,dataType: 'html',success: function(result){ $('#ingredients').append(result); } }); });
/成分/视图:
def ingredients(request): if request.is_ajax(): ourid = request.POST.get('terid',False) ingredients = Ingredience.objects.filter(food__id__in=ourid) t = get_template('ingredients.html') html = t.render(Context({'ingredients': ingredients,})) return HttpResponse(html) else: html = '<p>This is not ajax</p>' return HttpResponse(html)
使用Firebug,我可以看到POST包含两个ID,但是可能格式错误(terid = 1& terid = 2).所以我的成分看起来只有terid = 2.我究竟做错了什么?
编辑:
为了澄清,我需要在成分视图中的过滤器中使用我们的变量传递值[1,2].
解决方法
您可以通过request.POST.getlist(‘terid []’)在视图中访问此数组
在javascript中:
$.post(postUrl,{terid: values},function(response){ alert(response); });
在view.py中
request.POST.getlist('terid[]')
它对我来说是完美的.
原文地址:https://www.jb51.cc/jquery/176056.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。