0

我想在 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......

谢谢!

4

1 回答 1

3

你必须使用:

request.POST.getlist('ukeys', '')
于 2012-06-25T12:10:38.943 回答