2011-11-15 2 views
6

Я новичок в javascript и пытаюсь открыть txt-файл в var, а затем ввести его в html div ... Я попытался использовать fopen, но мне это не удалось.читать txt файл через клиент javascript

<script type="text/javascript"> 
file = fopen(getScriptPath("info.txt"), 0); 


file_length = flength(file); 
var content = fread(file,file_length); 
var div = document.getElementById("myDiv"); 
//alert(div); 
div.innerHTML = ""; 
div.innerHTML = content; 
</script> 
+1

Этот javascript предназначен для запуска в браузере? –

+0

Что заставляет вас думать, что у JavaScript есть fopen? Где этот текстовый файл? Вы имеете в виду текстовый/простой HTTP-ресурс по URL-адресу «info.txt» (относительно того, где находится документ)? – Quentin

+0

Вы пытаетесь смешать PHP и JavaScript ненадлежащим образом. Научитесь различать два первых, тогда вы можете продолжать программирование. – HerrSerker

ответ

2

заброшенный вопрос:

if (window.XMLHttpRequest) 
{// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
} 
else 
{// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.open("GET","YOUR_FILE.txt",false); 
xmlhttp.send(); 
xmlDoc=xmlhttp.responseText; 

по Freek8

+0

В вопросе нет признаков ASP. Однако существует DOM, который предлагает клиентскую JS. – Quentin

5

Из соображений безопасности, Javascript сделан так, что вы не можете этого сделать. Тем не менее, человек сделал обходное решение, которое может работать и отправило его here.

Хорошо, я понимаю, он работает только для файлов, которые публично доступны на сервере, и я считаю, что это не то, что вы хотите сделать. Тем не менее, если вы найдете способ, это будет такой взлом, но он также может быть исправлен, чтобы не работать в любое время.

+0

Это верно для javascript на стороне клиента. Вы можете отлично читать файлы на сервере javascript. Например node.js. –

+0

Я нашел эту ссылку, которая объясняет, как это сделать ... http://www.ehow.com/how_5996745_read-file-html-script-javascript.html НО это не сработало – Elad

+1

Эта страница в основном мусор. – Quentin

9

Хотя он говорит, что запрос xml работает отлично для файлов txt тоже (сервер и клиентская сторона).

if (window.XMLHttpRequest) 
{// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
} 
else 
{// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.open("GET","YOUR_FILE.txt",false); 
xmlhttp.send(); 
xmlDoc=xmlhttp.responseText; 
+0

Это работает, Спасибо! – Elad

+0

Ницца. Пожалуйста, установите этот ответ как принятый ответ, если он был полезен. – Freek8

+1

@ Freek8: здравый смысл предполагает, что вы не можете использовать 'XMLHttpRequest' для чтения файлов с клиентской машины. – Dennis

8

JavaScript не имеет ни одной из функций, которые вы пытаетесь использовать.

Для того, чтобы читать файлы на сервере в JavaScript, вы можете использовать XMLHttpRequest.

Нет простого способа читать файлы на клиентской машине.

+0

Спасибо, Это был один из самых быстрых ответов, которые я получил :) – Elad

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