【发布时间】:2013-10-29 09:32:54
【问题描述】:
我有一个动态生成的表单,允许用户输入新数据和编辑现有数据。当表单提交时,它会整理输入的值,并根据它们是否是新的进行分组,前者用class="new-entry"表示。
所以该函数生成两个数组:updateData 和insertData。两个数组的格式相似:
[
0: {
'id' = 1,
'value' = foo
},
1: {
'id' = 1,
'value' = 'bar'
},
etc...
]
我将它们组合成一个新的数组对象,通过 ajax 发送到控制器:
var postData = {
'update_data': updateData,
'insert_data': insertData
};
然后在ajax调用中:
$.post(url, postData, function() { // some code });
但是,在控制器中,将print_r($this->input->post()) 或print_r($_POST) 作为测试只返回Array()。甚至$this->input->post('update_data') 也没有返回任何内容。
如何在控制器中检索这些数组?
【问题讨论】:
-
updateData是 JSON 字符串吗?否则我建议JSON.stringify(updateData)。当然,insertdata也是如此。 -
我刚刚在我的本地主机上尝试了您的代码,它工作正常。但是我所做的我不知道你是否也这样做是因为我使用了
$('.form').serializeArray()你可能需要它! -
@Johan 我尝试在 updateData 和 insertData 上使用 JSON.stringify(),但控制器什么也没返回,甚至没有返回一个空数组。
-
@mamdouhalramadan 我会使用 serializeArray(),但我需要使用绑定到输入的数据属性手动填充数组。
-
你能举个例子吗?!
标签: php jquery ajax arrays codeigniter