2014-10-29 37 views
0

我試圖加載申請人信息,我從數據庫(fisrt名稱,lasta名稱,身份證號碼)在單擊「顯示申請人」按鈕後出現的slidetoggle中獲得。從數據庫加載json數據到slideToggle

我的代碼不斷顯示ERROR DETECTED消息,當我點擊按鈕「顯示申請人」後,應該會出現滑動窗口,並且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

+0

**危險**:您正在使用[an **過時的**數據庫API](http://stackoverflow.com/q/12859942/19068)並應使用[現代替換](http ://php.net/manual/en/mysqlinfo.api.choosing.php)。你也**易受[SQL注入攻擊](http://bobby-tables.com/)**,現代的API會使[防禦]更容易(http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php)自己從。 – Quentin 2014-10-29 16:55:25

回答

0

你響應,如Respuesta選項卡所示,不僅包含JSON,還包含一些HTML。擺脫html,並確保只有JSON返回,然後jquery應該執行您的成功回調

+0

我沒有注意到Html返回,謝謝 – 2014-10-29 22:04:59

0

使用此來拆分響應和「切出」的HTML部分。

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