【发布时间】:2014-07-17 15:59:02
【问题描述】:
我想知道如何在 CodeIgniter 中使用 AJAX 从数据库中获取数据。您能否检查下面的代码以找出问题的原因?当我从我的视图中单击链接时,没有任何反应。
这是我的看法:
<a href="#" class="faq_title"><?php echo $faq_title; ?></a>
这是我的控制器:
public function get_faq_data() {
$this->load->model("model_faq");
$title = $_POST['title'];
$data["results"] = $this->model_faq->did_get_faq_data($title);
echo json_encode($data["results"]);
}
这是我的模型:
public function did_get_faq_data($title) {
$this->db->select('*');
$this->db->from('faq');
$this->db->where('faq_title', $title);
$query = $this->db->get('faq');
if ($query->num_rows() > 0) {
return $query->result();
} else {
return false;
}
}
这是我的 JavaScript 文件:
$(".faq_title").click(function() {
var title = $(this).text();
$.ajax({
url: 'faq/get_faq_data',
data: ({ title: title }),
dataType: 'json',
type: 'post',
success: function(data) {
response = jQuery.parseJSON(data);
console.log(response);
}
});
});
【问题讨论】:
-
如果您希望 AJAX 调用轻松解析和使用数据,请查看
json_encode()。查看 this 了解更多想法 -
我还建议在控制器中使用 json 视图并返回而不是“回显”。我认为 CI 传递了一些可能导致 json 出现问题的标头。
-
@David JSON 视图绝对是执行此操作的正确方法,特别是如果您在配置中设置
compression = true,否则您的应用程序将被炸毁。我个人在简单地回显它时从未见过标题问题,特别是如果您告诉 AJAX 调用期望 JSON 返回字符串,但再一次,永远不要说永远 =) -
您现在可以检查一下吗?
标签: php jquery ajax json codeigniter