【发布时间】:2012-02-26 14:05:07
【问题描述】:
我正在使用 codeigniter,并希望使用 ajax 获取一些用户信息。这是我拥有的,但它不起作用
在视图中我定义了一个变量:
<script type="text/javascript">
var end_user = "<? echo $user_id; ?>";
</script>
<div id="tabs6"></div>
js文件:
function get_experience()
{
$.post(base_url + "index.php/home/get_experience", { user : end_user }, function(data) {
if (data.status == 'ok')
{
$("div#tabs6").html(data);
}
else
{ //nothing }
}, "json");
}
get_experience();
控制器:
public function get_experience()
{
$this->load->model('experience_model');
$end_user = $this->input->post('user');
$one_exp = $this->experience_model->one_exp($end_user);
if ($one_exp->num_rows() > 0)
{
$one_exp_html = '<ul>';
foreach($one_exp->result() as $exp)
{
$one_exp_html .= '<li>';
$one_exp_html .= $exp->experience;
$one_exp_html .= '</li>';
}
$one_exp_html .= '</ul>';
$result = array('status' => 'ok', 'content' => $one_exp_html);
return json_encode($result);
exit();
}
else
{
$result = array('status' => 'ok', 'content' => 'nothing here');
return json_encode($result);
exit();
}
}
型号:
function one_exp($end_user)
{
$query_str = "SELECT experience FROM exp WHERE user_id = ?";
$query = $this->db->query($query_str, $end_user);
}
【问题讨论】:
-
为什么你在控制器中使用 html 而不是将
$one_exp传递给视图? -
它不工作 - 有错误消息?
-
没有错误信息。我尝试像这样
$data['one_exp'] = $this->experience_model->one_exp($end_user); $this->load->view('one_view', $data);传递$one_exp但它返回消息:未定义变量:one_exp -
如果你只是
print_r($this->experience_model->one_exp($end_user));会发生什么? -
这样做了
$data['print'] = print_r($this->experience_model->one_exp($end_user)); $this->load->view('one_view', $data);消息:未定义变量:打印文件名:views/one_view.php
标签: php mysql ajax codeigniter