【发布时间】:2017-11-23 21:05:26
【问题描述】:
我正在尝试根据日期范围显示记录。
脚本
$(function() {
$(document).on("click", "#btnSubmit", function(e) {
e.preventDefault();
var info = $("#search").serialize();
alert(info);
$.ajax({
type: 'POST',
url: 'url',
data: info,
success: function(response) {
alert(response);
var obj = $.parseJSON(response);
var trHTML = '';
$.each(response, function(i, o) {
trHTML += '<tr><td>' + o.patient_name +
'</td><td>' + o.patient_address +
'</td></tr>';
});
$('#records_table').append(trHTML);
}
});
e.preventDefault();
});
});
HTML
<table class='table table-striped table-bordered table-hover' id='records_table'>
</table>
控制器
public function getsearch(){
$this->load->model('History_m');
$fromdate=$this->input->post('dateFrom');
$todate=$this->input->post('dateTo');
$date1=date( 'Y-m-d', strtotime($fromdate));
$date2=date( 'Y-m-d', strtotime($todate));
$result = $this->History_m->search($date1,$date2);
echo json_encode($result);
}
型号
function search($date1,$date2){
$this->db->trans_start();
$query = $this->db->query("SELECT * FROM `referral_confirmation_details` WHERE `created_on` >= '".$date1."' AND `created_on` <= '".$date2."'");
$this->db->trans_complete();
if($query->num_rows()>=1)
return $query->result();
}
AJAX 响应
我得到alert(response) 的输出为:
[
{
"ID":"1",
patient_name":"xyz",
"patient_email":"xyz@gmail.com",
"gender":"Male",
"age":"23",
"address":"xyz",
"city":"bangalore",
"password":"fzf1"
}
我收到 错误,例如“位置 0 处 JSON 中的意外令牌 A”。
【问题讨论】:
-
我不使用 jQuery 但可能将
$.each(response,更改为$.each(obj,function(.... -
这是准确的响应,还是您只是错过了复制最后一个
]? -
@Norsk - 您更改了问题中的回复。那是因为你知道它错了,还是因为你猜它错了?
-
@MagnusEriksson 我意识到我的错误并试图取消/删除我的编辑,但我不确定这是否可行
-
@Norsk 不用担心,我把它改回来了。让我们保持原样,直到 OP 回复任何问题/评论。
标签: php jquery json ajax codeigniter