Php 使用jquery迭代json数组
有一些帖子与我的问题相似:但不完全相同 我从jquery中获取了错误信息: a是空的 这是因为我添加了代码来循环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
$(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');