#javascript #html #xmlhttprequest
#javascript #HTML #xmlhttprequest
Вопрос:
Учитывая, что все файлы (html-файл, текстовые файлы и т.д.) Находятся в Интернете, есть ли какой-либо способ прочитать текстовый файл и распечатать их в текстовом поле помимо использования ActiveX?
Я пробовал так, но это не достигло цели:
функция getSelectedItem(){ var client = новый XMLHttpRequest(); если(document.codeForm.dropList.value == "foo") client.open('GET', 'foo.txt '); еще, если(document.codeForm.dropList.value == "bar") client.open('GET', 'bar.txt '); client.onreadystatechange = функция() { // Это фактически отображает сообщение в файле оповещение (client.responseText); //Но это не так. Это просто отображает "undefined" // document.codeForm.source.value = client.reponseText; } client.send(); }
Поскольку я действительно мог бы отобразить предупреждающее сообщение с контекстом файла, я полагаю, что был бы какой-то способ сделать это. (На самом деле содержимое файлов, похоже, отображается в «client.reponseText», но тип данных — DOMString, а не просто String.)
Любой совет был бы очень признателен. Спасибо.
Ответ №1:
Используйте jQuery. http://api.jquery.com/jQuery.get /
$.get("http://www.whatever.com/foo.txt", null, function(response){
$("#theTextArea").val(response); // where theTextArea is the ID of the textarea you want to put the data into.
});
Комментарии:
1. @Mike Ruhlin- интересно, есть ли txt- и html-файлы локально в системе
Ответ №2:
попробуйте это вместо
document.codeForm.source.innerValue = client.reponseText;
или
document.getElementById("source").innerHtml = client.responseText;
или
document.getElementById("source").innerText = client.responseText;
для использования последних двух методов вашей текстовой области потребуется атрибут id
Комментарии:
1. Я только что пробовал, но это не дает никаких изменений в текстовой области.
2. они по-прежнему отображали «undefined». Я все равно устранил проблему, используя jQuery. Спасибо.