我试图在$ .post中添加一些表单数据以及数组中的其他一些数据。我能够将数组推送到formdata的其余部分,但是我丢失了数组中的键,数据只是表示为字符串,我想我要求的是多维数组?
目前是响应字符串:
array(3) { ["ban_type"]=> string(11) "Account ban" ["ban-duration"]=> string(1) "2" ["test"]=> string(19) "adsasdasd,usertest2" }
[' test']是我试图通过的数组。这是我传递的数据,其中getSelectedUsers()'是数组:
var formdata = $('#ban-form').serializeArray();
formdata.push({name:'test', value:getSelectedUsers()});
无论如何,我可以获得[' test']的值来保存带有键的实际数组?
编辑:这是函数中使用的帖子:
$.post(action, request_data, function(data)
{
$(response_element).html(data);
});
以下是传递数据的调用:
ajaxPost(action, formdata, "body");
如果我只是传递数组,我会得到带键的响应:
ajaxPost(action, {test:getSelectedUsers()}, "body");
编辑:为了澄清我的要求 - 有什么方法可以将正常数组追加/推入序列化的formdata数组,这样它就是多维的,可以保存数组和它的键而不仅仅是字符串:[" test"] => string(19)" adsasdasd,usertest2" (我需要密钥,例如[1] =>' usertest2'以便我以后可以访问它们?)
答案 0 :(得分:0)
如果问题不清楚,请通过手动创建数组而不是尝试序列化表单数据并附加数组来解决道歉:
var data =
{
form_data:
{
ban_type: type,
ban_duration: duration
},
ban_data: getSelectedUsers()
};