1

我正在尝试johan使用带有 javascript 变量和 php 数组的 javascript 警报框进行打印。但是以下代码不起作用。

$result['firstName']['lastName']='johan';
$data =  json_encode($result);

?>
<html>
<body onload='myfunction(<?php echo $data; ?>);'>
<script>
function myfunction(data) 
{
  var fn = "firstName";
  alert(data.+fn+.lastName);
}
</script>
</body>
</html>
4

4 回答 4

0

尝试警报(data.firstName.lastName);

编辑:

我刚刚对此进行了测试,它按预期工作,所以干杯:)

<?php
$result['firstName']['lastName']='johan';
$data =  json_encode($result);
echo $data;
?>
<html>
<body onload='myfunction(<?php echo $data; ?>);'>
<script>
function myfunction(data) 
{
  var fn = data.firstName;
  alert(fn.lastName);// you can use data.firstName.lastName too 
}
</script>
</body>
</html>
于 2012-10-30T12:24:07.393 回答
0

这应该这样做:

alert(data[fn].lastName);

因为您的索引在变量内,所以您必须使用方括号。

于 2012-10-30T12:24:48.487 回答
0

至少您需要评估在 php 中生成的 json 字符串

在你提醒使用:data[fn].lastName

Mb 我错过了其他东西。

于 2012-10-30T12:26:26.800 回答
0

您不能使用点表示法访问变量对象属性。您需要使用 [] 代替。

于 2012-10-30T12:30:16.167 回答