Чтение локального текстового файла в javascript

Итак, у меня есть текстовый файл, назовем его plaintext.txt, и он хранится локально, и я пытаюсь прочитать его в javascript из той же папки, из которой работает мой js.

В моем html у меня есть

<script id="plaintext" src="plaintext.txt" type="text/plain"></script>

В моем js у меня есть

var text = document.getElementById('plaintext').textContent;

При запуске я получаю сообщение об ошибке в консоли (предупреждение?)

Resource interpreted as Script but transferred with MIME type text/plain: "file:///path/to/file/plaintext.txt". 

И я просто получаю пустой string.

Я просто хочу получить текст из этого файла!!!! Что я делаю не так? Я ошибаюсь, думая, что это можно сделать таким образом? Есть ли способ сделать это без использования каких-либо внешних библиотек, таких как jQuery? Я новичок в javascript, и я немного поражен, насколько сложно просто прочитать локальный файл! (хотя я понимаю риски безопасности)


person TranquilMarmot    schedule 26.05.2013    source источник
comment
Похоже, у вас нет сервера. Вы можете изучить это: developer.mozilla.org/en-US/docs/   -  person Passerby    schedule 26.05.2013
comment
Этот ответ довольно хорош: заголовок stackoverflow.com/questions/12760852/   -  person Bill Criswell    schedule 26.05.2013
comment
Прохожий - попробовал с сервером, тот же результат. Билл, значит, этот ответ говорит мне, что невозможно прочитать файл как обычный текст из локального каталога? Любые предложения по альтернативам? Помещать текст в строку было бы отстойно, потому что он довольно большой (6000+ строк).   -  person TranquilMarmot    schedule 26.05.2013


Ответы (2)


Избавиться от:

<script id="plaintext" src="plaintext.txt" type="text/plain"></script>

Теги Script предназначены для загрузки скриптов, а не простых текстовых файлов. Возможно, Чтение локального текстового файла в JavaScript может оказаться полезным для ты. В противном случае перейдите на серверную сторону (что гораздо удобнее в вашем случае), особенно если вы хотите обрабатывать большие объемы данных. Таким образом, вместо того, чтобы хранить все в файле, вы можете хранить его в базе данных. Если вам интересно, установите Netbeans и получите базу данных MySQL. Tutorialpoint – отличный ресурс для изучения java-серверной страницы, sql и т. д. Надеюсь, это поможет. :).

person ManOnTheMoon    schedule 26.05.2013
comment
На стороне сервера это не вариант, так как я работаю с WebGL (загружаемый файл является 3D-моделью). Кроме того, в этом ответе, на который вы ссылаетесь, используется ActiveX. Разве это не большое нет-нет? - person TranquilMarmot; 28.05.2013
comment
Что ж, вы можете создать часть ActiveX, потому что от нее зависит только IE. Лично мне в последнее время вообще все равно, работает что-то для IE или нет. IE — ужасный браузер, и людям лучше использовать такой браузер, как Firefox, для максимальной функциональности, и по статистике люди все равно уходят от IE. - person ManOnTheMoon; 30.05.2013

В итоге я просто сделал это с помощью jQuery, используя пример, который можно найти по адресу jquery - Прочитайте текст файл?

person TranquilMarmot    schedule 26.05.2013