【发布时间】:2017-07-12 16:32:18
【问题描述】:
我正在尝试发送数据类型为数组 [] 的表单 而且我无法在 phalcon 控制器上处理它们
<form id="form_access" name="form_access" >
<table class="table table-hover">
<tr>
<td>
<input type='text' name="codigo[]" id="codigo[]" value="100" />
</td>
<td>
<input type="text" name="access[]" id="access[]" value="1" />
</td>
<td>
<input type="text" name="insert[]" id="insert[]" value="1" />
</td>
<td>
<input type="text" name="edit[]" id="edit[]" value="1" />
</td>
<td>
<input type="text" name="delete[]" id="delete[]" value="1" />
</td>
</tr>
<tr>
<td>
<input type='text' name="codigo[]" id="codigo[]" value="101" />
</td>
<td>
<input type="text" name="access[]" id="access[]" value="1" />
</td>
<td>
<input type="text" name="insert[]" id="insert[]" value="1" />
</td>
<td>
<input type="text" name="edit[]" id="edit[]" value="1" />
</td>
<td>
<input type="text" name="delete[]" id="delete[]" value="1" />
</td>
</tr>
<tr>
<td>
<input type='text' name="codigo[]" id="codigo[]" value="102" />
</td>
<td>
<input type="text" name="access[]" id="access[]" value="1" />
</td>
<td>
<input type="text" name="insert[]" id="insert[]" value="1" />
</td>
<td>
<input type="text" name="edit[]" id="edit[]" value="1" />
</td>
<td>
<input type="text" name="delete[]" id="delete[]" value="1" />
</td>
</tr>
</table>
</form>
这是我的 jquery
str = $("#form_access").serialize();
$.post("access/save",str, function(data){
console.log(data);
},'json');
这是我的控制器
public function saveAction()
{
$this->view->disable();
if ($this->request->isPost()) {
$codigo = $this->request->getPost("codigo");
$access = $this->request->getPost("access");
$insert = $this->request->getPost("insert");
$edit = $this->request->getPost("edit");
$delete = $this->request->getPost("delete");
$data = array();
foreach ($codigo as $key => $value)
{
$data[] = ($value." - ".$access[$key]." - ".$insert[$key]." - ".$edit[$key]." - ".$delete[$key]);
}
$this->response->setJsonContent(array('res' => $data));
$this->response->setStatusCode(200, "OK");
$this->response->send();
}
$this->response->setStatusCode(400, "NOT FOUND");
$this->response->send();
}
但在我的控制台中我得到了这个
{"res":["100 - - - - ","101 - - - - ","102 - - - - "]}
显然我只是从我所做的第一次 foreach 中获取数据。
我做错了,请帮忙。
【问题讨论】: