尽管有所有来源,但仍无法使其工作。我尝试以下方法:将PHP数组转换为JS数组(ISO 8859-1字符)
<?php
$list_array = array();
foreach ($this->resultatTypeMail as $mailType) {
$nom = $mailType->getNom();
$objet = $mailType->getObjet();
$list_array[] = array(
'Name' => $nom,
'Object' => $objet,
);
echo "<script type='text/javascript'>alert('$nom');</script>"; // this is OK
echo "<script type='text/javascript'>alert('$objet');</script>"; // this is OK
}
?>
<script type="text/javascript">
var js_array = [<?php echo json_encode($list_array); ?>];
alert(js_array[0]); // This returns undefined
</script>
我得到$nom
和$objet
满意的结果时,我提醒他们。
问题: js_array[0]
回报undefined
请注意,我不是UTF-8。我不确定它是相关的。
编辑:我的目标的大图是获得一个自定义的php objet数组在JS中可用。
取代VAR js_array = [] ; var js_array = [<?php echo json_encode($ list_array); ?>]; 和检查 –
rahulsm
我相信json_encode将字符串值作为数组键的数组编码为JSON对象而不是数组。 –
@rahul_m好点但仍然是相同的错误'undefined' –