2014-10-17 74 views
0

我想要做一些相當簡單的事情,但我錯過了一些東西。我對Javascript很陌生。我試圖讀取CSV文件到數組中(在我的代碼中,我只是試圖將數據輸出到一個警告框)。我不斷收到錯誤「訪問被拒絕」。使用javascript將CSV文件讀入數組中

function readTextFile(file) { 
    var rawFile = new XMLHttpRequest(); 
    rawFile.open("GET", file, true); 
    rawFile.onreadystatechange = function() { 
    if(rawFile.readyState === 4) { 
     if(rawFile.status === 200 || rawFile.status == 0) { 
     var allText = rawFile.responseText; 
     alert(allText); 
     } 
    } 
    } 
    rawFile.send(null); 
} 

我懷疑我的csv文件位於何處有問題?由於我們CMS的限制,我只能參考這個www.example.com/csvfile.csv文件。

任何幫助將不勝感激。

+1

是您在同一個域中的網頁'file'你要求它?如果沒有,那麼你可能會看到[同源安全限制](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy)。 – jfriend00 2014-10-17 01:01:17

+1

http://papaparse.com/ – 2014-10-17 01:06:43

+0

@JaredFarrish - 這與什麼有什麼關係?這個問題是關於訪問文件,而不是解析它。 – jfriend00 2014-10-17 01:18:00

回答

1

這裏是閱讀csv文件示例代碼到數組

var request = new XMLHttpRequest(); 
request.open("GET", url, false); 
request.send(null); 

var csvData = new Array(); 
var jsonObject = request.responseText.split(/\r?\n|\r/); 
for (var i = 0; i < jsonObject.length; i++) { 
    csvData.push(jsonObject[i].split(',')); 
} 
// Retrived data from csv file content 
console.log(csvData); 

這裏是工作提琴例如:http://jsfiddle.net/BdCnm/450/