通过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[]')

它对我来说是完美的.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...