jQuery - 在post请求中传递数组

时间:2012-06-25 12:07:39

标签: javascript jquery python django

我想在jquery $ .post()请求中传递数组。

HTML:

<input type="checkbox" id="add-check-1e30">
<input type="checkbox" id="add-check-1230">

从上面的示例HTML中,数组应该像这样= ['1e30','1230']

用于发送$ .post()的jQuery:

$("#addbox-add").click(function(){

var ukeys = new Array();
$("input[type=checkbox]:checked").each( function() {
a = $(this).attr("id");
b = a.split('-').pop();
ukeys.push(b);
});

$(".addbox").remove();

$.post("/information/portfolio/add/", {'ukeys': ukeys }, function(data) {
for(i=0; i<data.length; i++)
{
    ukey = data[i].ukey;
    image = data[i].image;
    service = data[i].service;
    if(data[i].smallimage != "")
    {
        image = data[i].smallimage;
    }
    if (image == null)
    {
        $(".portfolio-preview").append('<li class="portfolio-item" id="portfolio-item-'+service+'-'+ukey+'"></li>');
    }
    else
    {
        $(".portfolio-preview").append('<li class="portfolio-item" id="portfolio-item-'+service+'-'+ukey+'"><img class="portfolio-image" src="'+image+'" width="150px" height="150px"></li>');
    }
}
});

});

jQuery中的数组变量没有问题,我不知道如何在post请求中发送它。

我应该在服务器中获得这两个值 1e30和1230 。但是我在服务器中得到的值是空的。

以下是用于在Python / Django中获取值的服务器代码:

def portfolio_add(request):
    ukeys = request.POST.get('ukeys', '')   
    .....etc.....etc......

谢谢!

1 个答案:

答案 0 :(得分:3)

你必须使用:

request.POST.getlist('ukeys', '')