在单击按钮后的代码中它应该从数据库中获取数据并使用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>
答案 0 :(得分:1)
您正在从ajax请求错误的网址。在您的控制器中,方法名称为search_course
因此请将ajax url更改为:
url:"<?php echo base_url(); ?>/afcks/search_course";
在将结果检索到obj
data
更改为data
for(var i = 0; i< data.length; i++)
{
str+='<li>'+data.course_name+'</li>'; //<----change here
});
答案 1 :(得分:0)
请复制我的代码,也尝试更改基本网址和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>
希望这会奏效!
答案 2 :(得分:0)
更改
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,
答案 3 :(得分:0)
>尝试使用此代码
success: function (data)
{
if (data == false) {
$('#course').append('<div>No Record Found</div>');
}
else
{
var str='';
str+='<ul>';
$.each(data, function (i, item) {
str+='<li>'+item.course_name+'</li>';
});
str+='</ul>';
$('#course').html(str);
}
}