在库中单个项目上的悬停事件中,我想用 AJAX 调用的结果填充信息窗口。我是 CI 新手,我似乎无法弄清楚为什么我不能完成这项工作。我检查了其他帖子..没有爱。
有人可以向我指出我的错误吗?
这是我的 javascript 函数在悬停时触发
function showDataWindow(){
$.post('index.php/home/getMoreInfo', { ID: thisID},
function(data) {
var moreInfo = $.parseJSON(data);
alert(data); // just checking
.. build my HTML with results and fade in ..
});};
这是我的控制器中的相关方法
public function getMoreInfo()
{
$answer = "unsigned";
$ID = $_POST['ID'];
$this->load->model('Artist_model');
$assocReturned = $this->Artist_model->get_more_info($ID);
echo json_encode($assocReturned);
}
这是我的 Artist_model
public function get_more_info($ID)
{
$query = $this->db->query("SELECT * FROM NOIRusers WHERE UID=$ID");
$assoc = array();
foreach($query->results() as $r) // there should be only one result .. do this different?
{
$assoc['memberID'] =$r['UID'];
$assoc['firstName'] =$r['UFname'];
$assoc['lastName'] =$r['ULname'];
.... a lot more like this ...
}
return $assoc;
}
我不断收到 500(内部服务器错误)。顺便说一句,我已经加载了我的数据库库。
我认为问题在于我如何处理我的数据库响应。据我了解.. $this->db->query() 给了我一个数据库对象,然后我通过 foreach 将其迭代到一个关联数组中。我将该数组返回给我的控制器,然后控制器对其进行 json_encode 编码并将其回显到 javascript。
我做错了什么?