Javascript json数据不返回值

Javascript json数据不返回值,javascript,php,jquery,json,Javascript,Php,Jquery,Json,我目前正在尝试“foreach”一些json数据,但console并没有返回任何内容,而它应该返回进度条的值(整数) 我当前的PHP文件应该返回json数据 $jsonData = [ 'progress' => [ 'health_pc' => $my->hp_percent, 'energy_pc' => $my->energy_percent, 'awake_pc' => $my->awak

我目前正在尝试“foreach”一些json数据,但console并没有返回任何内容,而它应该返回进度条的值(整数)

我当前的PHP文件应该返回json数据

$jsonData = [
    'progress' => [
        'health_pc' => $my->hp_percent,
        'energy_pc' => $my->energy_percent,
        'awake_pc'  => $my->awake_percent,
        'nerve_pc'  => $my->nerve_percent,
        'exp_pc'    => $my->exp_percent,
    ]
];

echo json_encode($jsonData);
我如何在javascript中处理它:

// Progress Bars
            $.each(jsonData.progress, function() {
                $.each(this, function(k, v) {
                    console.log(k + '-' + v);
                });
            });    
请注意,
console.log()
不会记录任何内容

我试图实现的是在%改变时调整进度条,通常我会这样做:

$('#health_pc').css('width', jsonData.progress.health_pc + '%');
$('#energy_pc').css('width', jsonData.progress.energy_pc + '%');
$('#awake_pc').css('width', jsonData.progress.awake_pc + '%');
$('#nerve_pc').css('width', jsonData.progress.nerve_pc + '%');
$('#exp_pc').css('width', jsonData.progress.exp_pc + '%');
但我想把这些都写出来,而不是说出来

任何帮助都将不胜感激

编辑1
json\u encode()的输出


您必须将jQuery函数更改为以下内容,您不需要每个方法都有两个

const jsonData={“进步”:{“健康pc”:100,“能量pc”:100,“清醒pc”:100,“神经pc”:100,“体验pc”:3};
console.log(jsonData);
$.each(jsonData.progress,function(k,v){
控制台日志(k+'-'+v);
});    

您必须将jQuery函数更改为以下内容,您不需要每个方法都有两个

const jsonData={“进步”:{“健康pc”:100,“能量pc”:100,“清醒pc”:100,“神经pc”:100,“体验pc”:3};
console.log(jsonData);
$.each(jsonData.progress,function(k,v){
控制台日志(k+'-'+v);
});    

只要php变量本身不是数组,每个变量一级就足够了:

$.each(jsonData.progress, function(k, v) {
     $('#'+k).css('width', v + '%');
})

只要php变量本身不是数组,每个变量一个级别就足够了:

$.each(jsonData.progress, function(k, v) {
     $('#'+k).css('width', v + '%');
})

您可以使用普通javascript for循环

让$jsonData={
“进展”:{
"健康":15,
"能源":33,,
“清醒的个人电脑”:21,
“神经”:87,
“exp_pc”:9,
}
};
设myFunction=function(){
for(var输入$jsonData.progress){
if($jsonData.progress.hasOwnProperty(键)){
$('#'+key).css('width',$jsonData.progress[key]+'%');
$('#'+key).children('span').html($jsonData.progress[key]+'%');
}
}
};
myFunction()

您可以使用普通javascript for循环

让$jsonData={
“进展”:{
"健康":15,
"能源":33,,
“清醒的个人电脑”:21,
“神经”:87,
“exp_pc”:9,
}
};
设myFunction=function(){
for(var输入$jsonData.progress){
if($jsonData.progress.hasOwnProperty(键)){
$('#'+key).css('width',$jsonData.progress[key]+'%');
$('#'+key).children('span').html($jsonData.progress[key]+'%');
}
}
};
myFunction()


能否显示json_encode的输出?还有,为什么要做嵌套循环?试一下
$。每个(jsonData.progress,function(k,v){…
@puelo添加了json_encode()的输出-请参见编辑:)可以显示json_encode的输出吗?还有为什么要做嵌套循环?试一下
$。每个(jsonData.progress,function(k,v){…
@puelo添加了json_encode()的输出-请参见编辑:)这就成功了!非常感谢!我能在1分钟内接受答案。再次,非常感谢!这就成功了!非常感谢!我能在1分钟内接受答案。再次,非常感谢!