【发布时间】:2018-08-01 12:12:34
【问题描述】:
我正在尝试使用 jquery ajax 进行日期范围搜索并在数据表中显示数据。 这是我的 php 控制器代码。
public function date()
{
$date_from = date('Y-m-d H:i:s', strtotime($this->input->post('date_from')));
$date_to = date('Y-m-d H:i:s', strtotime($this->input->post('date_to')));
if ($date_from != "" && $date_to != "") {
$data[] = $this->report_model->get_report_by_date($date_from, $date_to);
$output= $data;
}
echo json_encode($output);
}
这是我的 Javascript 代码
$('#filterDate').click(function () {
var from_date = $('#from_date').val();
var to_date = $('#to_date').val();
if (from_date != '' && to_date != '') {
$.ajax({
url: "<?php echo base_url(); ?>report/date",
method: "POST",
data: {date_from: from_date, date_to: to_date},
dataType: "json",
success: function (output) {
$("#reportDataOld").remove();
var json = $.parseJSON(output);
alert(json.html);
if (output == "err") {
alert("Something Happened Wrong! Please Try Again.");
} else {
$("#reportDataNew").html(output);
console.log(output);
}
}
})
;
}
else {
alert("Please Select Date");
}
});
我收到这样的 json 响应
但不能在 Datatable 中表示数据。
【问题讨论】:
-
Remove
var json = $.parseJSON(output);你告诉 jQuery 你使用dataType: "json",从服务器返回 JSON 并且服务器代码使用echo json_encode($output);返回数据所以试图将它解析成 json 只会导致问题