2014-10-31 92 views
-1

下面的代碼顯示應該從temps.txt文件導入值 ,但時間數組 顯示爲空,可能是錯誤的?從數據文件導入數組

我只得到「Nan」作爲輸出。

的temps.txt文件看起來是這樣的:

21.5 
22.3 
... etc 

這裏是我的源代碼:

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>load demo</title> 
    <style> 
    body { 
    font-size: 16px; 
    font-family: Arial; 
    } 
    </style> 
    <script src="//code.jquery.com/jquery-1.10.2.js"></script> 
</head> 
<body> 

<script> 
var times = []; 

$.get('temps.txt', function(data) { 
    times = data.split("\n"); 
    }); 
for (var i in times) 
{ 
    document.write(times[i] + "<BR />"); 
} 

</script> 
</html> 
+3

$ .get是一個異步調用,你的for循環應該在回調函數內部,在times = data.split(「\ n」)之後。 – lshettyl 2014-10-31 16:23:47

+1

另外,不要使用'document.write'。它會在每次使用文檔時替換文檔上的所有內容。使用jQuery創建一個元素並將其他元素附加到它。 – Andy 2014-10-31 16:24:14

+0

我想保持數據在時間數組或不可能? – tubos 2014-10-31 16:27:13

回答

0

事情是這樣的:

1)將循環到$.get回調。

2)使用一個數組來建立你的字符串

3)它追加到使用join主體元件。

$.get('temps.txt', function(data) { 
    times = data.split("\n"); 
    var html = []; 
    for (var i in times) { 
    html.push(times[i] + '<br/>'); 
    } 
    $('body').append(html.join('')); 
});