[英]fetch data from database using ajax codeigniter
在此代碼中,單擊按鈕后,它應該從數據庫中獲取數據並使用jquery和ajax在適當的div中動態顯示它,但我沒有得到任何輸出,以下是我的代碼:
控制者
defined('BASEPATH') OR exit('No direct script access allowed');
class Afcks extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('afcks_search','am');
}
function index()
{
$this->load->view('afcks_home');
}
function search_course()
{
$result=$this->am->search_course();
echo json_encode($result);
}
}
模型
class Afcks_search extends CI_Model
{
function search_course()
{
$query=$this->db->query("SELECT course_name FROM courses");
return $query->result();
}
}
視圖
<head>
<script>
$(document).ready(function(){
$("button").click(function(){
$.ajax({
url:"<?php echo base_url(); ?>/afcks/search_course";
type:"POST",
dataType:"json",
data:req,
success:
function(data)
{
var str='';'
str+='<ul>';
for(var i = 0; i< data.length; i++)
{
str+='<li>'+data.course+'</li>';
});
str+='</ul>';
$('#course').html(str);
}
});
});
});
</script>
</head>
<body>
<button> click me </button>
<div id="course"> </div>
</body>
您從ajax請求錯誤的URL。 在您的控制器中,方法名稱為search_course
因此將ajax網址更改為:
url:"<?php echo base_url(); ?>/afcks/search_course";
在將結果檢索到data
,也將obj
更改為data
for(var i = 0; i< data.length; i++)
{
str+='<li>'+data.course_name+'</li>'; //<----change here
});
請復制我的代碼,也嘗試更改基本url和json數據轉換
<head>
<script>
$(document).ready(function(){
$("button").click(function(){
var base=<?php echo base_url(); ?>;
$.ajax({
url:base+"/afcks/search_course";//also try "<?php echo base_url(); ?>/afcks/search_course" i dont think it's correct.
type:"POST",
dataType:"json",
data:req,
success:
function(data)
{
var responseData = $.parseJSON(data);//convert string to json, i know you datatype is set to 'json' still want to cross check.
var str='';
str+='<ul>';
$(function() {
$.each(responseData, function(i, item) {
str+='<li>'+item.course_name+'</li>';
});
})
str+='</ul>';
$('#course').html(str);
}
});
});
});
</script>
</head>
<body>
<button> click me </button>
<div id="course"> </div>
</body>
希望這會成功!
更改
url:"<?php echo base_url(); ?>/afcks/course";
至
url:"<?php echo base_url(); ?>afcks/search_course";
和
var str='';'
str+='<ul>';
至
var str='<ul>';
和
for(var i = 0; i< data.length; i++)
{
str+='<li>'+data.course+'</li>';
});
至
$.each(data,function()
{
str+='<li>'+this.course_name+'</li>';
}
並刪除
data:req,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.