2014-10-17 2 views
0

Я пытаюсь сделать что-то довольно просто, я думаю, но что-то не хватает. Я очень новичок в Javascript. Я пытаюсь прочитать CSV-файл в массив (в моем коде ниже я просто пытаюсь вывести данные в окно предупреждения). Я продолжаю получать сообщение об ошибке «доступ запрещен».Чтение CSV-файла в массив с использованием javascript

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

+1

http://papaparse.com/ –

+0

@JaredFarrish - что это значит? Этот вопрос касается доступа к файлу, а не его разбора. – jfriend00

ответ

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/

Смежные вопросы