Php 在表中显示AJAX响应
我正在尝试根据日期范围显示记录 脚本Php 在表中显示AJAX响应,php,jquery,json,ajax,codeigniter,Php,Jquery,Json,Ajax,Codeigniter,我正在尝试根据日期范围显示记录 脚本 $(function() { $(document).on("click", "#btnSubmit", function(e) { e.preventDefault(); var info = $("#search").serialize(); alert(info); $.ajax({ type: 'POST', url: 'url', data: info, succ
$(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();
});
});
型号
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();
}
我得到了错误如“位置0处JSON中的意外令牌A”。您使用的不是JSON对象,而是响应JSON字符串。 试一试
$。每个(对象、函数(i、o){
trHTML+=''+o.patient\U姓名+
''+o.患者地址+
'';
});
我认为json结尾缺少]
[{"ID":"1","patient_name":"xyz","patient_email":"xyz@gmail.com","gender":"Male","
age":"23","address":"xyz","city":"bangalore","password":"fzf1"}]
$。每个(响应、函数(i、o){
trHTML+=''+o.patient\U姓名+
''+o.患者地址+
'';
});
在每个循环中传递响应变量,您应该添加obj,否则您应该首先使用parse并在循环中传递。这样您就可以解决这个问题。
而在json响应中,]丢失。您需要将字符串转换为对象。试试下面
$.ajax({
type: 'POST',
url: 'url',
data: info,
dataType: 'json',
success: function(response){
var obj = $.parseJSON(response);
var trHTML = '';
$.each(obj, function (i, o){
trHTML += '<tr><td>' + o.patient_name +
'</td><td>' + o.patient_address +
'</td></tr>';
$.ajax({
键入:“POST”,
url:'url',
数据:信息,
数据类型:“json”,
成功:功能(响应){
var obj=$.parseJSON(响应);
var trHTML='';
$。每个(对象、功能(i、o){
trHTML+=''+o.patient\U姓名+
''+o.患者地址+
'';
});内部有两个错误: 请换
$.each(response, function(i, o) {
trHTML += '<tr><td>' + o.patient_name +
'</td><td>' + o.patient_address +
'</td></tr>';
});
$。每个(响应、函数(i、o){
trHTML+=''+o.patient\U姓名+
''+o.患者地址+
'';
});
到
$(obj).每个(函数(i){
trHTML+=''+这个病人的名字+
''+这个病人的地址+
'';
});
您想迭代解析的JSON对象而不是HTTP响应,对吗?为了进一步阅读,请查看jQuery的
$()文档。每个:谢谢大家,我终于得到了结果。我已经更新了正确的脚本,以便对面临相同问题的人有所帮助
$(document).on("click", "#btnSubmit", function(e) {
e.preventDefault();
var info = $("#search").serialize();
$.ajax({
type: 'POST',
url: 'url',
data: info,
dataType: 'json',
success: function(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();
});
$(文档)。在(“单击”上,“提交”,函数(e){
e、 预防默认值();
var info=$(“#搜索”).serialize();
$.ajax({
键入:“POST”,
url:'url',
数据:信息,
数据类型:“json”,
成功:功能(响应){
var trHTML='';
$。每个(响应、功能(i、o){
trHTML+=''+o.patient\U姓名+
''+o.患者地址+
'';
});
$(“#记录_表”).append(trHTML);
}
});
e、 预防默认值();
});
我不使用jQuery,但可能会将$.each(响应,
更改为$.each(obj,函数(..
是准确的回答,还是你只是没有复制上一个]
?@Norsk-你更改了问题中的回答。这是因为你知道它错了还是因为你猜测它错了?@MagnusEriksson我意识到我的错误并尝试取消/删除我的编辑,但我不确定这是否正确possible@Norsk不担心,我把它改了回去。让我们保持原样,直到OP对任何问题/评论做出响应。要正确调试您的东西,您不应该使用alert();
,而应该使用console.log()
。因此,您可以在浏览器控制台内正确查看您的输出。当我替换响应时,我收到的错误消息为未捕获类型错误:无法使用“in”运算符在数组中搜索“length”。我已更新了答案。如果这没有帮助,请友好地在jsbin、JSFIDLE等上上载您的代码版本。因此e代码分析将被简化。非常感谢您的支持..我终于得到了$的输出。每个(响应,函数(i,o){@user5370838所以,您是否愿意向我们展示您的解决方案,并将正确的答案标记为它是什么?在循环时它应该是一个响应
[{"ID":"1","patient_name":"xyz","patient_email":"xyz@gmail.com","gender":"Male","
age":"23","address":"xyz","city":"bangalore","password":"fzf1"}]
$.each(response, function (i, o){
trHTML += '<tr><td>' + o.patient_name +
'</td><td>' + o.patient_address +
'</td></tr>';
});
$.ajax({
type: 'POST',
url: 'url',
data: info,
dataType: 'json',
success: function(response){
var obj = $.parseJSON(response);
var trHTML = '';
$.each(obj, function (i, o){
trHTML += '<tr><td>' + o.patient_name +
'</td><td>' + o.patient_address +
'</td></tr>';
$.each(response, function(i, o) {
trHTML += '<tr><td>' + o.patient_name +
'</td><td>' + o.patient_address +
'</td></tr>';
});
$(obj).each(function(i) {
trHTML += '<tr><td>' + this.patient_name +
'</td><td>' + this.patient_address +
'</td></tr>';
});
$(document).on("click", "#btnSubmit", function(e) {
e.preventDefault();
var info = $("#search").serialize();
$.ajax({
type: 'POST',
url: 'url',
data: info,
dataType: 'json',
success: function(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();
});