使用PHP输出的Javascript数组时出现未定义错误
为什么Chrome控制台仍然给我一个未捕获的类型错误:无法读取未定义的属性“Users”,但脚本工作正常 我使用PHP将值生成到与页面内联的javascript数组中:使用PHP输出的Javascript数组时出现未定义错误,javascript,php,Javascript,Php,为什么Chrome控制台仍然给我一个未捕获的类型错误:无法读取未定义的属性“Users”,但脚本工作正常 我使用PHP将值生成到与页面内联的javascript数组中: <script type="text/javascript"> dbArray = [ <?php if (!$connect) { die('Could not connect: ' . mysql_error()); } mysql_select_db("myMysqlTable", $connect)
<script type="text/javascript">
dbArray = [
<?php
if (!$connect) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("myMysqlTable", $connect);
$result = mysql_query("SELECT * FROM nhoods");
while($row = mysql_fetch_array($result)) :
?>
{ "Name":"<?php echo $row['Name'] ?>", "Users":<?php echo $row['Users'] ?> },
<?php endwhile; mysql_close($connect); ?>
];
</script>
在单独的.js文件中,我有以下示例:
function someFunction(index) {
var usersfound = dbArray[index]['Users'];
console.log(usersfound);
};
someFunction(2);
用户返回的结果非常好,这是可行的,但仍然会抛出错误
我理解php加载服务器端,但为什么我的javascript文件似乎与内联页面javascript不在同一领域。找到原因,发生错误是因为php行输出不完整,因此我的脚本在试图从列表中提取不存在的内容时会出错。脚本现在签出。我可能会在引用周围放置一个条件,以确保该值首先存在 即:
检查脚本标记的顺序。
function someFunction(index) {
var usersfound = dbArray[index]['Users'];
console.log(usersfound);
};
someFunction(2);
var users
if (dbArray[index]['Users']) {
users = dbArray[index]['Users'];
}