2016-07-14 18 views
1

ここには単純なウェブサイトがあります。これは、内部にCSSオブジェクトを持つdiv項目を含んでいます。 ajaxjsonを使って、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の私の配列は定義されていないか、少なくともなぜですか?インデックスで要素を定義することはできません。

+2

'dataList = data.value;' => 'dataList = data;'オブジェクトを返さないので、 'value'プロパティはありません –

+0

あなたは親切です!君は!本当にありがとう。コピーや貼り付けのアーティファクトを前に私は信じています。プログラムはスムーズに実行されています! –

+0

喜んで助けてください。私はあなたの答えとしてそれを追加しました。 –

答えて

0

dataList = data.value;は、オブジェクトを返さないため、valueプロパティがないため、dataList = data;にする必要があります。

関連する問題