首页 > 解决方案 > 如何在codeigniter中的php中发送json对象值?

问题描述

我已经在 codeigniter 中完成了一个代码,其中发送了一些 json 对象,但我无法在<a>. 我已经显示了下面的代码:

 <form id="vocher_list_form">
 <div id="load_msg" style="display: none;" class="text-center"><img src='<?php echo  base_url() ?>user-images/load.gif' style='margin-top:5%' width='50' height='50' /></div>
            
    <table class="table" >
        <thead>
          <tr>
            <th>Sl</th>
            <th>Name</th>
            <th>Email</th>
            <th>Phone</th>
            <th>WhatsApp no</th>
            <th>Ref.code</th>
            <th>Event</th>
            <th>Certificate</th>  
            <th>Status</th>
            <th>Action</th>       
          </tr>
        </thead>

        <tbody id="exam_attending_list"> 
         
        </tbody>
      </table>
      </form>

<script>
  function get_exam_attending_details(pgno)
{
   var search = $("#search").serialize();
   $('#load_msg').show();                       
   $('#exam_attending_list').html('');
   $("#pagination").html('');
   $.ajax({
            url: '<?php echo base_url();?>get-career_foundation_exam_status-details/'+pgno,
            type: 'POST',
            data: search,
            dataType: 'json',
            success: function(data) { 
              
             $('#load_msg').hide();
             var details='';
            var empRow = "";
             $('.table').show();
             if(data.res.length != 0){
            if( pgno==1  || pgno==null)
            {
                slno = 0;
            }
            else
            {
              slno = data.limit *(pgno-1);
             }

             for(var i=0;i<data.res.length;i++)
              {slno++; 
                    empRow += "<tr>";
                    empRow += "<td>"+slno+"</td>";
                    empRow += "<td>"+data.res[i].cc_name+"</td>";  
                    empRow += "<td>"+data.res[i].cc_email+"</td>";  
                    empRow += "<td>"+data.res[i].cc_mob_no+"</td>";
                    empRow += "<td>"+data.res[i].whatsapp_number+"</td>";
                    empRow += "<td>"+data.res[i].ref_code+"</td>";
                    empRow += "<td>"+data.res[i].event_name+"</td>";
                    if(data.res[i].type!=null){
                      if(data.res[i].type==2){
                    empRow += "<td>Participation</td>";
                        }
                        else
                        {
                     empRow += "<td>Foundation</td>";     
                        }
                      }
                    else
                        {
                     empRow += "<td>&nbsp;</td>";     
                        }
                     if(data.res[i].level_status!=null){ 
                       if(data.res[i].level_status=='Complete'){ 
                    empRow += "<td>Completed</td>";
                      }
                      else{
                    empRow += "<td>Pending</td>";    
                      }
                    }
                      else
                      {
                     empRow += "<td>Not attended</td>";   
                      }
                     //empRow += '</td>';

                     //empRow += '<td><a onclick="fn_download_pdf(\''+data.res[i].cc_id+'\',\''+data.res[i].event_id+'\',\''+data.res[i].type+'\',\''+data.res[i].cc_name+'\')" class="btn btn-link btn-warning btn-just-icon edit">Download</a></td>';

                    
                     empRow += "<td><a href='<?php echo base_url();?>Career_foundation_exam_status/certificate_download_pdf/pdf_download/"+data.res[i].cc_id+"/"+data.res[i].event_name+"/"' class='btn btn-link btn-warning btn-just-icon edit'>Download</a></td>";
                     empRow += "</tr>";  
           
              } 

               $('#exam_attending_list').html(empRow);
                }

else{
   empRow = "<tr>";
   empRow += "<td colspan='6'><i class='fa fa-exclamation-triangle' aria-hidden='true'></i>No results found !!!</td>";
   empRow += "</tr>";
   $('#exam_attending_list').html(empRow);
}

               $("#pagination").html(data.pagination); 
            }
        });  
}


</script>
           

我想发送data.res[i].cc_id下面代码中的值,该值也包含在上面的代码中,方法是在href后面附加它pdf_download,我想用段数组检索这个值:

empRow += '<td><a href="<?php echo base_url();?>Career_foundation_exam_status/certificate_download_pdf/pdf_download/'+data.res[i].cc_id" class="btn btn-link btn-warning btn-just-icon edit">Download</a></td>';

我已经尝试如上所示附加它,但它不起作用。有人可以帮我解决如何附加它吗?这行代码有语法问题吗/

标签: jsoncodeigniter

解决方案


如果您的 codeigniter 项目根目录与服务器 document_root 相同,则不需要使用 base_url: 仅使用斜杠而不是:<?php echo base_url();?>

更新:修改了我的代码片段,现在是正确的

例如:

var empRow += '<td><a href="/Career_foundation_exam_status/certificate_download_pdf/pdf_download/' + data.res[i].cc_id + '" class="btn btn-link btn-warning btn-just-icon edit">Download</a></td>';

推荐阅读