Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何设置关联数组?_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript 如何设置关联数组?

Javascript 如何设置关联数组?,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正在尝试向服务器发送一些数据 我通过指定元素进行了一些映射,我想发送一个结果 var slectVal = {}; selectVal = $.map(filterValueArray, function(el) { return ( el.parentNode.getAttribute('data-filter-name') + ":" + el.value ) }); var data = { "filters" : selectVal } $.

我正在尝试向服务器发送一些数据

我通过指定元素进行了一些映射,我想发送一个结果

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

更改数据的结构

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;
});

$.map()
始终返回数组。您需要(并且已经声明)一个对象。adeneo的答案是正确的。我有一个错误:
无法设置未定义的属性“Name”
,这是我的错,我在
过滤器中忘记了一个
s
,我现在就编辑它。