Chrome コンソールがまだUncaught TypeError: Cannot read property 'Users' of undefined を表示するのに、スクリプトは正常に動作するのはなぜですか?
私はPHPを使用して、ページにインラインでJavaScript配列に値を生成しています:
<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>
出力の例を次に示します。
var dbArray = [
{ "Name":"Outer Richmond", "Users":5 },
{ "Name":"Central Richmond", "Users":3 },
{ "Name":"Inner Richmond", "Users":12 },
{ "Name":"USF NoPa", "Users":2 }
];
別の .js ファイルには、次の例があります。
function someFunction(index) {
var usersfound = dbArray[index]['Users'];
console.log(usersfound);
};
someFunction(2);
ユーザーは完全に正常に戻り、これは機能しますが、それでもエラーがスローされます。
PHP がサーバー側で読み込まれることは理解していますが、JavaScript ファイルがインライン ページの JavaScript と同じ領域に存在しないように見えるのはなぜですか。