Javascript json数据不返回值
我目前正在尝试“foreach”一些json数据,但console并没有返回任何内容,而它应该返回进度条的值(整数) 我当前的PHP文件应该返回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
$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分钟内接受答案。再次,非常感谢!