How to show json data in codeigniter
本问题已经有最佳答案,请猛点这里访问。
我的JSON输出从编码器点火器JSON U编码。这在控制台中显示,但我不能在HTML格式的页面上显示
1 2 3 4 | [ {"company_name":"Jalalabad Ragib-Rabeya Medical College"}, {"company_name":"Jalalabad Ragib-Rabeya Medical College"} ] |
这是javascript。我如何读取这些JSON数据并显示是一个列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function getDocCat(catId){ var currentValue = catId.value; $.ajax({ type:"POST", url:"<?php echo site_url('home/get_com_by_cat') ?>", data: { data: currentValue }, dataType:'json', success: function(result){ $("load_company_name").html(result); }, error: function() { alert('Not OKay'); } }); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | function getDocCat(catId){ var currentValue = catId.value; $.ajax({ type:"POST", url:"<?php echo site_url('home/get_com_by_cat') ?>", data: { data: currentValue }, dataType:'json', success: function(result){ // since the reponse of the sever is like this // [ // {"company_name":"Jalalabad Ragib-Rabeya Medical College"}, // {"company_name":"Jalalabad Ragib-Rabeya Medical College"} // ] // then you can iterate on the array // make sure you have a html element that // has an id=load_company_name var company = $("#load_company_name"); // here is a simpe way $.each(result, function (i, me) { // create a p tag // insert it to the // html element with an id of load_company_name var p = $('<p/>'); // you can access the current iterate element // of the array // me = current iterated object // you can access its property using // me.company_name or me['company_name'] p.html(me.company_name); company.append(p); }); }, error: function() { alert('Not OKay'); } }); } |
选择器必须是类名、ID或其他有效的CSS选择器。这将阻止HTML插入工作,因为它没有插入内容。
确保所需的jquery对象有效。比如,
一旦对选择器进行了排序,就必须确保可以将JSON实际插入到HTML中。使用
类似:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var resultObj = JSON.parse(result); for(item in resultObj) { if(resultObj.hasOwnProperty(item)) { $("#load_company_name").append('<span>' + item + '</span>'); } } // Or use jQuery var $resultObj = jQuery.parseJSON(result); $resultObj.each(function() { $("#load_company_name").append('<span>' + this.company_name + '</span>'); }); |
在控制器中使用json_解码。不要忘记css和jquery的选择器。