Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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
如何使用jqueryajax将多个阵列发布到Web2py控制器?_Jquery_Ajax_Web2py - Fatal编程技术网

如何使用jqueryajax将多个阵列发布到Web2py控制器?

如何使用jqueryajax将多个阵列发布到Web2py控制器?,jquery,ajax,web2py,Jquery,Ajax,Web2py,我试图使用jqueryajax将两个数组发布到我的控制器。以下是我的代码的一部分: arr1 = ['a','b','c'] arr2 = ['d','e'] $.ajax({ type: "POST", dataType: 'json', data: {arr1:arr1, arr2:arr2}, url: url }); 我在我的请求中得到的是: {'arr1[]': ['a','b','c'], 'arr2[]': ['d','e']} 为什么字典键的

我试图使用jqueryajax将两个数组发布到我的控制器。以下是我的代码的一部分:

arr1 = ['a','b','c']
arr2 = ['d','e'] 
$.ajax({
    type: "POST",
    dataType: 'json',
    data: {arr1:arr1, arr2:arr2},
    url: url
});
我在我的请求中得到的是:

{'arr1[]': ['a','b','c'], 'arr2[]': ['d','e']}

为什么字典键的末尾有[]?!我不是以正确的方式传递数组吗

这就是我发布两个变量的方法

var msg = "msg=" + JSON.stringify({
        "new": n,
        "del": d,
        });
    $.post('{{=post_url}}', msg, function(jdata) {
        var data = $.parseJSON(jdata);

它按预期工作,JSON字符串作为变量“msg”的内容发送。

哦,对了,我改变了我的建议。我认为$.ajax将在json中查找{variable:content}类型的对象,并将该变量用作HTTP POST中的变量,而内容用作该变量的内容。我总是用一个变量传递东西;现在在我的帖子中得到这个奇怪的东西{'data:[arr1][]':['a','b','c']}我已经尝试了stringfy,问题是,结果将作为字符串传递给服务器,然后我必须将这个字符串数组转换回实际数组,这不是一个简单的任务。下面是post_vars now:
Storage{'msg':'{“arr1”:[a,b],“arr2”:[c,d,e]}
正如您现在看到的,整个对象是字符串形式的。