2014-09-27 2 views
0

Мне нужно перебирать объекты JSON, исходящие от моего контроллера, и связывать данные с элементами html. Когда я предупреждаю, что я получаю объекты. Как я могу перебирать эти объекты, чтобы получить доступ к отдельным данным, чтобы я мог добавить их в элементы html?Как перебирать объекты json и связывать с html elemnts.?

Я пробовал следующие коды. У меня просто несколько элементов здесь для демонстрации, фактический массив очень большой.

Мой контроллер:

 public function grid_view_ajax_function() 
      {  
       $contacts_details=""; 
       $this->load->model('contact_model'); 
       $contacts_details= $this->contact_model->get_all_contacts(); 
       $result = array(); 
       $data = array(); 
       foreach ($contacts_details as $row_data){ 
       $data['id']     =$row_data['contact_id']; 
       $data['image']    =$row_data['image']; 
       $data['name']    =$row_data['first_name']; 
       $data['last_name']   =$row_data['last_name'];  
       array_push($result, $data); 

       } 
       echo json_encode(array('data' => $result)); 
      } 

main.js файл перебрать объектов в JQuery:

  $.getJSON(global_base_url + "contact/grid_view_ajax_function",function(data) 
      { 
      var div_data = ''; 
       $.each(data,function(i,data) 
       {  

    div_data +='<div class="col-xl-15" data-id="'+data.index+'"><div class="panel"><div class="panel-heading"><img src="../asset/'+data.picture+'" class="img-responsive desaturate" /></div><div class="panel-body"><div class="name">'+data.name+'</div><div class="email">'+data.email+'</div><div>'; 
       }); 

JSON данные:

{ 
    "data":[ 
    { 
    "id":"1", 
    "image":"4.jpg", 
    "name":"Mack ", 
    "last_name":"Jack", 
    "title":"Adminstration", 
    "city":"London" 
    }, 
    { 
    "id":"2", 
    "image":"person-list.png", 
    "name":"Renia", 
    "last_name":"Jack", 
    "title":"Archetectuer" 
    } 
] 
} 
+0

Является ли это 'PHP'? Если это так, пометьте 'PHP'. «Когда я предупреждаю, что я получаю объекты *» - где вы предупреждаете BTW? –

+0

@ TJ, я предупреждаю, что $ .each (данные, функция (i, data) {alert (data);} – saji

+0

Затем добавьте его в вопрос, чтобы указать, что у вас есть доступ к данным. BTW, i не видите 'index',' picture', 'email' и т. д. в json ..? –

ответ

0

Вы можете перебирать как

//here ajax response object is assigned to data variable 
 
var data = {"data":[{"id":"1","image":"4.jpg","name":"Mack ","last_name":"Jack","title":"Adminstration","city":"London"},{"id":"2","image":"person-list.png","name":"Renia","last_name":"Jack","title":"Archetectuer"}]}; 
 

 
var div_data = ''; 
 
$.each(data.data,function(i,data) { 
 

 
    div_data += "<li>"+data.name+"</li>"; 
 
    
 
}); 
 
$("ul").html(div_data);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<ul></ul>

+0

Как я могу получить данные json от моего контроллера в главном .js.? – saji

+0

здесь a относится к данным, которые вы получили от ajax-вызова – mithunsatheesh

+0

@mithun .. .cts теперь показывает длину ошибки неопределенного – saji

Смежные вопросы