Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
Jquery 使用get方法从表单输入传递数组_Jquery_Ajax_Forms - Fatal编程技术网

Jquery 使用get方法从表单输入传递数组

Jquery 使用get方法从表单输入传递数组,jquery,ajax,forms,Jquery,Ajax,Forms,我使用get方法从表单输入(复选框)传递一个数组。 在ajax中执行此操作时,请使用: var subcat_checked = new Array(); $.each($("input[name='subcategories']:checked"), function() { subcat_checked.push($(this).val()); }); $.ajax({ type: 'GET', url: '{% url view-category root_cate

我使用get方法从表单输入(复选框)传递一个数组。 在ajax中执行此操作时,请使用:

var subcat_checked = new Array();
$.each($("input[name='subcategories']:checked"), function() {
    subcat_checked.push($(this).val());
});
$.ajax({
    type: 'GET',
    url: '{% url view-category root_category.slug %}',
    data: {subcat: subcat_checked},
    success: function(result) {
        /* stuff */
    },
    dataType: 'json'
});
未选中复选框时,变量键为“子类别”,选中某些复选框时,变量键为“子类别[]”

现在,当使用非ajax表单发送它并选中一些复选框时,变量键是“categories”(末尾没有[])

由于我希望在禁用javascript时使用非ajax表单作为回退,所以我希望在选中某些复选框时使用相同的键

有人知道我怎么做吗

谢谢

试试这个:

var subcat_checked = $("input[name='subcategories']:checked").serializeArray();

$.ajax({
    type: 'GET',
    url: '{% url view-category root_category.slug %}',
    data: {subcat: subcat_checked},
    success: function(result) {
        /* stuff */
    },
    dataType: 'json'
});

这是jQuery 1.4+中所做的更改,但您可以使用来反转它,以获得旧的非[]序列化,如下所示:

$.ajax({
    traditional: true,
    type: 'GET',
    url: '{% url view-category root_category.slug %}',
    data: {subcat: subcat_checked},
    success: function(result) {
        /* stuff */
    },
    dataType: 'json'
});
您可以在中阅读更多关于该选项的信息(将对象作为
数据
属性传递时最终调用的内容)…但基本上它完全满足您的需要,关闭
[]

看看这个问题“