在CodeIgniter 4中使用Ajax展示JSON数据问题
问题解决:JSON数据控制台可见但模板无法显示
问题根源及修复步骤
重复解析JSON导致错误
你已经设置了dataType: 'json',jQuery会自动将服务器返回的JSON字符串解析为JavaScript对象,此时再调用JSON.parse(response)会触发报错——因为response已经是对象,而非可解析的字符串。属性访问语法错误
当对象属性名包含连字符(如rx-byte)时,不能使用点语法(data[0].rx-byte),这会被JavaScript误解析为减法运算,必须改用方括号语法访问属性。
修复后的代码
<script type="text/javascript"> $(document).ready(function () { $.ajax({ url: '<?php echo_uri("clients/session_details") ?>', type: 'GET', dataType: 'json', success: function(response) { // 无需手动解析,response已是解析后的对象 $("#result").html(response[0]['rx-byte']); }, // 新增错误回调,方便排查请求问题 error: function(xhr, status, error) { console.error('请求异常:', error); } }); }); </script>
额外排查建议
- 打开浏览器开发者工具的「控制台」标签,查看是否有JavaScript报错,这是快速定位问题的核心方式。
- 在success回调中先执行
console.log(response),确认返回的数据结构是否符合预期(比如是否为数组、第一个元素是否存在rx-byte属性)。
内容的提问来源于stack exchange,提问作者Md Shyriad Rahman
相关产品推荐
相关产品推荐

