1
ここには単純なウェブサイトがあります。これは、内部にCSSオブジェクトを持つdiv項目を含んでいます。 ajax
とjson
を使って、php
スクリプトを実行して、テキストファイルから値を取得し、その値でdiv項目を更新しようとしています。php/ajax/json等を使った未定義の配列エラー(javascript)
問題はdataList[0]
を関数に渡していますreplaceContentInContainer()
は、コンソールで未定義エラーとして表示されます。
ここには、エラーをスローしているスクリプトがあります。 dataList[0]
が参照されると直ちにスローされます。
<script>
setInterval(function()
{
$.getJSON('loadData.php', function(data){
var dataList = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
dataList = data.value;
var tempID = "tempDIV";
console.log('Good to go, data was loaded');
console.log(data);
ReplaceContentInContainer(tempID,dataList[0]);
}
}, 2000);
</script>
<script type="text/javascript"><!--
function ReplaceContentInContainer(id,content) {
var container = document.getElementById(id);
container.innerHTML = content;
}
//--></script>
PHPファイル
<?php
$lines = file("data.txt");
echo json_encode($lines);
?>
データファイルフォーマット 'data.txtを'
78\n
82\n
33\n
etc...
コンソール出力
Good to go, data was loaded indexUpdate.php:30:5
Array [ "75 ", "34 ", "0 ", "0 ", "80 ", "31 ", "60 ", "72 ", "60 ", "70 ", 8 more… ] indexUpdate.php:31:5
TypeError: dataList is undefined
indexUpdate.php:32:5
Good to go, data was loaded indexUpdate.php:30:5
Array [ "75 ", "34 ", "0 ", "0 ", "80 ", "31 ", "60 ", "72 ", "60 ", "70 ", 8 more… ] indexUpdate.php:31:5
TypeError: dataList is undefined
を次のように考えて、なぜそれが意味をなさないdoesntの私の配列は定義されていないか、少なくともなぜですか?インデックスで要素を定義することはできません。
'dataList = data.value;' => 'dataList = data;'オブジェクトを返さないので、 'value'プロパティはありません –
あなたは親切です!君は!本当にありがとう。コピーや貼り付けのアーティファクトを前に私は信じています。プログラムはスムーズに実行されています! –
喜んで助けてください。私はあなたの答えとしてそれを追加しました。 –