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())); を使用します。応答データが見える! ありがとう