2014-12-05 3 views
0

Вот код. Я довольно новичок в JavaScript, и каждый день я учусь больше. Этот код из примера из учебника. Спасибо за ваши ответы. Еще один вопрос, который я хотел бы задать, - как я могу отобразить возвращенный текст в неупорядоченном списке? Будет ли это что-то включать в html-сторону вещей или может быть сделано в файле JavaScript?Как открыть текстовые и текстовые файлы в новом окне/вкладке?

window.addEventListener("load",initAll,false); 
 
var xhr = false; 
 

 
function initAll() { 
 
\t document.getElementById("makeTextRequest").addEventListener("click",getNewFile,false); 
 
\t document.getElementById("makeXMLRequest").addEventListener("click",getNewFile,false); 
 
} 
 

 
function getNewFile(evt) { 
 
\t makeRequest(this.href); 
 
\t evt.preventDefault(); 
 
} 
 

 
function makeRequest(url) { 
 
\t if (window.XMLHttpRequest) { 
 
\t \t xhr = new XMLHttpRequest(); 
 
\t } 
 
\t else { 
 
\t \t if (window.ActiveXObject) { 
 
\t \t \t try { 
 
\t \t \t \t xhr = new ActiveXObject("Microsoft.XMLHTTP"); 
 
\t \t \t } 
 
\t \t \t catch (e) { 
 
\t \t \t } 
 
\t \t } 
 
\t } 
 

 
\t if (xhr) { 
 
\t \t xhr.addEventListener("readystatechange",showContents,false); 
 
\t \t xhr.open("GET", url, true); 
 
\t \t xhr.send(null); 
 
\t } 
 
\t else { 
 
\t \t document.getElementById("updateArea").innerHTML = "Sorry, but I couldn't create an XMLHttpRequest"; 
 
\t } 
 
} 
 

 
function showContents() { 
 
\t if (xhr.readyState == 4) { 
 
\t \t if (xhr.status == 200) { 
 
\t \t \t if (xhr.responseXML && xhr.responseXML.childNodes.length > 0) { 
 
\t \t \t \t var outMsg = getText(xhr.responseXML.getElementsByTagName("choices")[0]); 
 
\t \t \t } 
 
\t \t \t else { 
 
\t \t \t \t var outMsg = xhr.responseText; 
 
\t \t \t } 
 
\t \t } 
 
\t \t else { 
 
\t \t \t var outMsg = "There was a problem with the request " + xhr.status; 
 
\t \t } 
 
\t \t document.getElementById("updateArea").innerHTML = outMsg; 
 
\t } 
 
\t 
 
\t function getText(inVal) { 
 
\t \t if (inVal.textContent) { 
 
\t \t \t return inVal.textContent; 
 
\t \t } 
 
\t \t return inVal.text; 
 
\t } 
 
}

ответ

1

Судя по всему, вы делаете запрос AJAX и получения XML.

В этом случае, я бы:

  1. Открыть новую страницу с window.open() (возвращает новый объект Window)
  2. А затем изменить document.body.innerHTML этой новой страницы в XML вы имеете

Если у вас есть веб-страницу, которая держала XML (возможно сервер вы запрашиваете на есть), вы можете просто сделать:

window.open("page.xml");

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