【发布时间】:2017-07-25 04:17:24
【问题描述】:
我正在使用完整的日历功能。但是视图页面中没有显示数据。只显示日历本身。谁能帮我找到解决方案。这是我的代码:
查看页面:
<script type="text/javascript">
$(document).on("click", ".calendarview", function () {
var roomid = $(this).data('id');
//alert(roomid);exit;
$('#calendar_view').fullCalendar({
//events: [
// {
// title: 'All Day Event',
// start: roomid
// }
// ]
events: {
url: base_url+'home/calview',
dataType: 'json',
data: {roomid: roomid},
type: 'POST', // Send post data
error: function() {
alert('There was an error while fetching events.');
}
}
});
});
</script>
在控制器中
function calview()
{
$room_id =$this->input->post('roomid');
$events=$this->Home_model->find_room_availability($room_id);
$data_events = array();
foreach($events as $r) {
$data_events[] = array(
//"title" => $r->available,
"description" => 'available',
"start" => $r->dt);
}
echo json_encode(array("events" => $data_events));
exit();
}
型号:
function find_room_availability($room_id){
$result = $this->db->query("SELECT x.dt , r.room_cnt - COALESCE(SUM(`booking_cnt`),0) available FROM calendar_table x LEFT JOIN bookinglist y ON x.dt >= y.`date_from` AND x.dt < y.`date_to` LEFT JOIN rooms r ON r.id=$room_id WHERE x.dt BETWEEN now() - interval 3 month AND now() + interval 5 month GROUP BY dt ");
//echo $this->db->last_query();
//exit;
return $result->result();
}
Ajax 响应就像
[[{"title":"10","start":"2017-04-26"},
{"title":"10","start":"2017-04-27"},
{"title":"10","start":"2017-04-28"},
{"title":"10","start":"2017-04-29"},
{"title":"10","start":"2017-04-30"},
{"title":"10","start":"2017-05-01"},
{"title":"10","start":"2017-05-02"},
{"title":"10","start":"2017-05-03"},
{"title":"10","start":"2017-05-04"},
{"title":"10","start":"2017-05-05"},
{"title":"10","start":"2017-05-06"},
{"title":"10","start":"2017-05-07"},
{"title":"10","start":"2017-05-08"},
{"title":"10","start":"2017-05-09"},
{"title":"10","start":"2017-05-10"},
{"title":"10","start":"2017-05-11"},
{"title":"10","start":"2017-05-12"},
{"title":"10","start":"2017-05-13"},
{"title":"10","start":"2017-05-14"},
{"title":"10","start":"2017-05-15"},
{"title":"10","start":"2017-05-16"},
{"title":"10","start":"2017-05-17"},}]]
谁能帮我找到解决办法
【问题讨论】:
-
可能是移除 exit();
-
也试过了,但没有得到解决方案
-
ajax 响应中的问题,它从
[[{开始并以},}]]结束,但你想要这样的响应[{"title":"10","start":"2017-04-26"},{"title":"10","start":"2017-04-27"},{"title":"10","start":"2017-04-28"},{"title":"10","start":"2017-04-29"},{"title":"10","start":"2017-04-30"},{"title":"10","start":"2017-05-01"},{"title":"10","start":"2017-05-02"},{"title":"10","start":"2017-05-03"},{"title":"10","start":"2017-05-04"},{"title":"10","start":"2017-05-05"},{"title":"10","start":"2017-05-06"},{"title":"10","start":"2017-05-07"}] -
不,先生,我的回答是,[[{"title":"10","start":"2017-04-26"},{"title":"10","开始":"2017-04-27"},{"title":"-12","start":"2017-11-02"},{"title":"-12","start":" 2017-11-03"},{"title":"-21","start":"2017-12-24"},{"title":"-23","start":"2017-12- 25"}]]
-
但是从服务器获取的 Ajax 响应中的
events对象在哪里 ->json_encode(array("events" => $data_events));
标签: mysql ajax codeigniter