将数据库中的json数据加载到slideToggle中

时间:2014-10-29 16:43:01

标签: php jquery json

我试图在点击"显示申请人"后出现的幻灯片中加载我从数据库获取的申请人信息(fisrt名称,姓氏,身份证号码)。按钮。

点击按钮"显示申请人"我的代码一直显示ERROR DETECTED消息。应该出现一个slidetoggle,并在幻灯片上显示json数据。有人可以给我一些关于我在这里做错的方向。

查询:

  if(isset($_GET['id'])){
   $id_oferta = $_GET['id'];
   $sql ="SELECT postulacion.* FROM postulacion WHERE id_oferta = '". $id_oferta ."'";
   $listapostulantes = mysql_query($sql) or die(mysql_error());

   $return_arr= array(); 
   $num = mysql_num_rows($listapostulantes);
     if($num > 0){
        while($row = mysql_fetch_array($listapostulantes, MYSQL_ASSOC)){

          $return_arr[] = $row;

         }
        echo json_encode($return_arr);   
     }  
  }

脚本:

 $(document).ready(function(){

       $('.myslide').hide();
       $(".postulantes").on('click', function(e){

         e.preventDefault();  
         if($(this).parent().next().css('display') == 'none'){

           $('.myslide').hide('fast');
           $(this).parent().next().slideToggle('slow');

            var link = $(this).attr('href').split('&');
            var idd= link[1].match(/id=([0-9]+)/)[1]; 

          $.ajax({
                url: link[0],  
                type: 'GET',                   
                dataType:'json',
                data:{'id': idd},

                success:function(data){

                     // console.log(); 
                     var htmlStr = '';
                     $.each(data, function(key, value){

                         htmlStr += '<p>' +  value.rut_usuario + '</p>'; 
                     }); 
                     $(".myslide").html(htmlStr);                        
                 },
                error: function(){

                  $("#listaofertas").html("ERROR DETECTED");
                  //console.log();      
                } 

          });
         } 
        });
     });    

JSON

json array

applicants display

2 个答案:

答案 0 :(得分:0)

您的回复(如 Respuesta 标签下所示)不仅包含JSON,还包含一些HTML。摆脱html,确保只返回JSON,然后jquery应该执行你的成功回调

答案 1 :(得分:0)

用它来分割响应并“剪掉”html部分。

$splitted = explode("<!DOCTYPE HTML>",json_encode($return_arr));   
echo $splitted[0];