我正在尝试调用我的控制器方法,该方法在 Ajax 调用中调用模型方法。
这是我的 Ajax 调用:
$.ajax({
type: "POST",
async: false,
dataType: "json",
url: "<?php echo base_url('siteController/fetchEmployees') ?>",
success: function(data)
{
html = "<table id='myTable'><thead><tr id='test'><th>ID</th><th>FName</th><th> LName</th></tr></thead><tbody id='contentTable'>";
for (var i = 0; i < data.length; i++)
{
html = html + "<tr id='trResponses' ><td><div >" + data[i]['ID'] + "</div></td><td><div >" + data[i]['FName'] + "</div></td><td><div >" + data[i]['LName'] + "</div></td></tr>";
}
html = html + "</tbody></table>";
$("#resultFrm2").html(html);
},
error: function() {
alert('error');
}
});
我的 siteController 有以下方法:
public function fetchEmployees()
{
$this->load->model('user_model');
return json_encode($this->user_model->getAll());
}
我的模型方法如下:
public function getAll()
{
$q = $this->db->get('users');
if ($q->num_rows() > 0) {
foreach ($q->result() as $row) {
$data[] = $row;
}
return $data;
}
}
但由于我在控制器中的返回是一个数组,我收到以下错误:
A PHP Error was encountered
Severity: Notice
Message: Array to string conversion
你知道我该如何处理这个问题吗?
如果我的问题不清楚,请告诉我您需要更多澄清的部分?
补充:我做了你所有的建议,并在这里提到了我所有的变化!但是现在没有 Ajax 的输出但是如果在我的控制器中而不是 return json_encode($this->user_model->getAll()); 我使用 var_dump( json_encode($this->user_model->getAll())); 我可以看到响应的数据! 谢谢