2016-03-16 9 views
1

Я разрабатываю компонент joomla, и я использую AJAX в своем представлении для получения содержимого таблицы базы данных, отправив запрос запроса на контроллер, а затем создав объект данных модели i, называемый функция в моей модели, которая, в свою очередь, возвращает объект JSON.
Теперь моя проблема заключается в отображении содержимого этого объекта в таблице html через jQuery.Как отобразить php-объект с помощью jquery

Вот мой код:

jQuery("#papertitle").change(function(){ 
      console.log('eneterd jquery function'); 
      var title =jQuery('#papertitle').val(); 

      jQuery.ajax({ 
      type: 'GET', 
      url: "http://localhost/joomladev/index.php?option=com_journals&task=payments&format=raw&title="+title, 
      data: {title : title}, 
      success: function(data){ 
       console.log('data',data); 
       jQuery('#data-table').html(data); 
      } 
     }); 

    }); 

где данные стол мои дела. И это показывает объект JSON, как выход, как это:

array (size=1) 
    0 => 
    object(stdClass)[165] 
     public 'paperid' => string '4' (length=1) 
     public 'journalid' => string '7' (length=1) 
     public 'papertitle' => string 'Big Data' (length=8) 
     public 'classification' => string 'computer science' (length=16) 
     public 'status' => string 'complete' (length=8) 
     public 'comments' => string 'none' (length=4) 

Но я хочу, чтобы детали объекта будут показаны в виде таблицы. Любые предложения о том, как я могу это сделать с помощью jQuery!

ответ

2

Я бы закодировал объект как JSON в вашем контроллере (http://localhost/joomladev/index.php) и вернул это json.

Тогда вы можете разобрать, что json использует javascript. В настоящее время вы получаете дамп объекта php, который не может/не должен анализироваться внутри JS и создавать/заполнять таблицу.

+0

Это worked..thanks !! :) –

0

Попробуйте это в АЯКС функция успеха

success: function(data){ 
    jQuery.each(data,function(key,row){ 
     jQuery('#data-table').append('<tr>'); 
     jQuery.each(row,function(key,column){ 
      jQuery('#data-table').append('<td>'+column+'</td>'); 
     }); 
     jQuery('#data-table').append('</tr>'); 
    }); 
}