微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过jQuery ajax调用将值列表传递给django视图

我试图通过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 举报,一经查实,本站将立刻删除。

相关推荐