如何设置关联数组?

时间:2014-08-08 14:38:36

标签: javascript jquery arrays

我试图将一些数据发送到服务器。

我有一些maping指定元素,我想发送一个结果。

var slectVal = {};
selectVal = $.map(filterValueArray, function(el) {
    return (
        el.parentNode.getAttribute('data-filter-name') + ":" + el.value
    )
});

var data = {
    "filters" : selectVal
}

$.post(url, data).done(function(res){
    var postStatus = res.status;
});

一切都好,但发送到服务器的是:

filters[]:Name:SomeName
filters[]:City:SomeCity

如何将其作为关联数组发送,如下所示:

filters[Name]:SomeName
filters[City]:SomeCity

1 个答案:

答案 0 :(得分:6)

更改数据的结构

var data = {filters: {}};

$.each(filterValueArray, function(_, el) {
    data.filters[$(el).parent().data('filter-name')] = el.value;
});

$.post(url, data).done(function(res){
    var postStatus = res.status;
});