Я использую Codeigniter и Smarty (механизм шаблонов) и, следовательно, используя шаблоны.php закодированный json для шаблона и javascript
У меня есть метод, который вызывает шаблон, который имеет все функции HTML, CSS и JS:
public function index()
{
//dashboard text
$this->data['title'] = 'Dashboard';
$this->data['subtitle'] = 'feeds, users, and more';
//load the donut graph data
$fbyg = $this->feed_model->countFeedsByGroups();
echo json_encode($fbyg);
//parses the dashboard template
$this->smartyci->display('dashboard.tpl', $this->data);
}
дело в том, что мне нужно отправить информацию на один из JS файлов, ограниченных к моей приборной панели. tpl, чтобы сделать графику.
Поэтому я знаю, что мне нужно закодировать php-массив в jSon-объект и отправить его в шаблон. Но, как мне это сделать, когда мне нужно не только отправлять и эхо с помощью json, но также я должен отображать мой шаблон для отправки другой информации?
Другой вопрос: как получить json и получить данные? Я стараюсь и до сих пор ничего не найдено:
С моей dashboard.tpl:
<script src="{site_url()}application/views/js/test.js"></script>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'></script>
От test.js:
$.getJSON('admin.php', function(data) {
console.log(data.vgro_name);
});
Не используйте 'echo', но ** возвращайте строку вместо **, поэтому вы сможете использовать ее, когда захотите. – romuleald
Вы имеете в виду, что я должен поместить его в переменную типа $ this-> data ['jsondata'] = json_encode ($ fbyg)? как мне получить доступ к этим данным в функции? – Limon
удалите 'echo json_encode ($ fbyg);' и добавьте 'return json_encode ($ fbyg);' в конце вашей функции **, чтобы вы могли «echo index()» или '$ data = index (); 'затем используйте его, как вы хотите. – romuleald