1

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 と同じ領域に存在しないように見えるのはなぜですか。

4

1 に答える 1