Php 使用jquery迭代json数组

Php 使用jquery迭代json数组,php,jquery,json,Php,Jquery,Json,有一些帖子与我的问题相似:但不完全相同 我从jquery中获取了错误信息: a是空的 这是因为我添加了代码来循环json数据: $(function () { $.ajax({ url: 'ajax_dashboard/api.php', //the script to call to get data data: "", dataT

有一些帖子与我的问题相似:但不完全相同

我从jquery中获取了错误信息: a是空的

这是因为我添加了代码来循环json数据:

$(function () 
{
$.ajax({                                      
  url: 'ajax_dashboard/api.php',    //the script to call to get data          
  data: "",                        
  dataType: 'json',                    
  success: function(data)          
  {
        $.each(data, function() {
          $.each(this, function(k, v) {
                $('#output').append("<b>key: </b>"+k+"<b> value: </b>"+v)
                    .append("<hr />");
          });
        }); 
  } 
});
}); 
这将返回此json格式的数据:

[
    {
        "camera_name": "ffgg",
        "camera_status": "DISABLED",
        "camera_quality": "MEDIUM",
        "email_notice": "DISABLED",
        "camera_hash": "0d5a57cb75608202e64b834efd6a4667a71f6dee",
        "camera_type": "WEBCAM"
    },
    {
        "camera_name": "test",
        "camera_status": "ENABLED",
        "camera_quality": "HIGH",
        "email_notice": "ENABLED",
        "camera_hash": "6ab000ef7926b4a182f0f864a0d443fc19a29fdd",
        "camera_type": "WEBCAM"
    }
]

如果我删除循环,“a为空”错误就消失了。我做错了什么?

您的迭代代码工作正常:

错误在别处

编辑:

请尝试此选项以帮助调试

success: function(data, textStatus, xhr) {
  console.log(xhr);
  ...
}
xhr
将包含许多有关所做请求的信息。responseText包含什么?状态文本是什么?

您的代码工作正常:


因此错误不存在。

我看不出您设置了php响应的
内容类型。响应的mime类型可能不正确,因此jQuery不会将响应解析为json

在回显json之前,请在php中尝试以下操作:

header('Content-Type: application/json');

--似乎在这里起作用。您的表名真的是
#u\u摄像头
?查询本身正确吗?是否有一些未被替换的东西通过
$user->id
?是的,这是表的Joomla约定。该文件很好,因为您可以看到从该php文件生成的json输出工作正常。一定是jqueryajax调用导致它无法工作。哦,谢谢。现在我不知道该去哪里找。奇怪的是,删除循环会删除a is null错误。错误发生在哪一行?在哪个.js文件中?jQuery的哪个版本?。我在firebug:jquery.min.js(第2行)中得到了一个is null,您可以加载非精简版本吗?(删除
.min
)我还应该注意,这是在Joomla中,所以以防万一,我在jQuery.noConflict()中添加了以防万一。谢谢,但这也没用。我使用@KevinB进行了调试,它必须是php代码,因为当它到达jquery代码时,该值为null。如有进一步了解,将不胜感激。
header('Content-Type: application/json');