次のスクリプトを持つコントローラーがあります
class get extends CI_Controller
{
function get_password()
{
$this->load->model('fetch_model');
$user_pass=$this->fetch_model->get_password();
$data['user_pass'] = json_encode($user_pass);
echo $data['user_pass'];
}
}
とビューページのスクリプトはこのように
function get_password(){
$.post("<?php echo base_url();?>admin.php/get/get_password",function(data)
{
for(i=0;i<data.length;i++)
{
$('#password').val(data[i].password);
$('#username').val(data[i].username);
}
},"json");
}
モデルで次のスクリプトを使用すると、ajax投稿は完全に機能します。
class fetch_model extends CI_Model
{
function get_password()
{
return $this->db->query("SELECT * FROM td_admin_user")->result_array();
}
}
しかし、モデルスクリプトをこれに変更すると、ajaxスクリプトが機能しなくなります
class fetch_model extends CI_Model
{
function get_password()
{
foreach($this->db->query("SELECT * FROM td_admin_user")->result() as $r_pass)
{
$pass=$r_pass->password;
$user=$r_pass->username;
}
$user_pass=array('username'=>$user,
'password'=>$pass);
return $user_pass;
}
}
率直に言って、次のようにデータを送信する必要があります
$user_pass = array('username'=>$user, 'password'=>$pass);
result_array()としてではなく
ですから、この文脈で私を助けてください、事前に感謝します