Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.05.2011, 16:10
Аспирант
Отправить личное сообщение для zeraid Посмотреть профиль Найти все сообщения от zeraid
 
Регистрация: 27.03.2011
Сообщений: 75

Загрузка XML документа
В общем вот код

draw2d.XMLSerializer_01.prototype.createXMLHttp=function()
{
if (typeof XMLHttpRequest != 'undefined')
return new XMLHttpRequest();
else if (window.ActiveXObject) {
var avers = ["Microsoft.XmlHttp",
"MSXML2.XmlHttp",
"MSXML2.XmlHttp.3.0",
"MSXML2.XmlHttp.4.0",
"MSXML2.XmlHttp.5.0"];
for (var i = avers.getSize() -1; i >= 0; i--) {
try {
httpObj = new ActiveXObject(avers.get(i));
return httpObj;
} catch(e) {}
}
}
throw new Error('XMLHttp (AJAX) not supported');
}

draw2d.XMLSerializer_01.prototype.load=function(/*:Document*/ document, /*:String*/ url )
{
var ajaxObj = this.createXMLHttp();
ajaxObj.open("GET", url, true);
ajaxObj.processRequest = function(/*:Document*/ doc)
{
if (this.readyState == 4)
if (this.status == 200) {
var xml = this.responseXML;
new draw2d.XMLSerializer_01().fromXML(doc, xml);
}
}
ajaxObj.onreadystatechange = function() {
ajaxObj.processRequest(document);}
ajaxObj.send(null);
}


Он должен обращатся к файлу xml, делать десериализацию new draw2d.XMLSerializer_01().fromXML(doc, xml); и выводить объекты на экран.

Он этого не делает но и ошибку не выдает. Мне кажется что проблема в var xml = this.responseXML; возможно он тут получает значение NULL, хъотя в FireBUG в ответе выводит нормальный XML документ. Заголовок у него application/xml , в то время как responseXML тьребует заголовок text/xml, согласно http://xmlhttprequest.ru/. Как вы думаете в этом проблема или в чем то другом?

Если сделать ALERT сразу после var xml, то он выводит [object XMLDocument]. ЧТо это означает?

И сразу второй вопрос
По поводу создания xml документа (сохранения)

Вот функция:

draw2d.XMLSerializer_01.prototype.save=function(/*:Document*/ document, /*:String*/ url )
{
var ajaxObj = this.createXMLHttp();
ajaxObj.open("POST", url, true);
ajaxObj.setRequestHeader("Content-Type", "text/xml");

var reqBody = this.toXML(document);
ajaxObj.send(reqBody);
}


При нажатии на кнопку она срабатывает (согласно FireBUG) но в указанный файл информация не записывается\переписывает я. Как сделать чтобы она либо создавала сама файл либо реально в него записывала собранный xml документ. Как видите тут создается правильный заголовок.

Как вообще сменить заголовок????

Последний раз редактировалось zeraid, 25.05.2011 в 16:26.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с XML Armen AJAX и COMET 7 16.03.2011 13:59
Поиск элементов по DOM-дереву и работа с XML и XSLT mister_maxim Events/DOM/Window 1 13.03.2011 19:41
Как удалить из памяти весь XML документ? EisBerg Events/DOM/Window 1 03.04.2010 14:45
Jquery. загрузка части документа через ajax-запрос InviS jQuery 8 01.03.2010 17:47
загрузка данных из XML, почему загружает только в Explorer asked86 AJAX и COMET 2 18.12.2009 16:29