Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   HTML/DHTML/CSS/JS/VB (http://www.flasher.ru/forum/forumdisplay.php?f=66)
-   -   XMLHttpRequest не обрабатывает XML (http://www.flasher.ru/forum/showthread.php?t=113821)

der hund 10.07.2008 08:46

XMLHttpRequest не обрабатывает XML
 
Перечитал документации а так и не работает как нужно, все перепробывал.

Имеется файл ХМL
header("Content-Type: text/xml;charset=windows-1251");
Код:

<?xml version="1.0" encoding="windows-1251" ?>
group>
  <url id="1">
      <from>http://www.nitobi.com/products/combobox/?_kk=ajax%20html&_kt=eb785e25-1806-4523-8e49-72d6e556161d&gclid=CNrvvKbytJQCFQoTuwodqUn4Tg&gid=CNrvvKbytJQCFQoTuwodqUn4Tg&d=CNrvvKfsdgfgTg</from>
        <main>main</main>
        <other>other</other>
        <buy>buy</buy>
  </url>
  <url id="2">
        <from>from2</from>
        <main>main2</main>
        <other>other2</other>
        <buy>buy2</buy>
  </url>
  <url id="3">
        <from>from3</from>
        <main>main3</main>
        <other>other3</other>
        <buy>buy3</buy>
  </url>
</group>




И вот JavaScript для чтения XML
header("Content-Type: text/html;charset=windows-1251");
Код:

        <script>

                function createRequestObject(){
                    if (window.XMLHttpRequest){
                        try{
                            return new XMLHttpRequest();
                        } catch (e){}
                    } else if (window.ActiveXObject){
                        try{
                            return new ActiveXObject('Msxml2.XMLHTTP');
                        } catch (e){}
                        try{
                            return new ActiveXObject('Microsoft.XMLHTTP');
                        } catch (e){}
                    }
                    return null;
                }
       
                function load(url, hobj){
                        if (canloading==true){
                                canloading=false;
                                htmlobj=hobj;
                                request.onreadystatechange = loaded;

                                //request.open('POST', 'create_report.php?site_stat=true&' + url, true);
                                request.open('POST', 'xml/file.txt', true);

                                document.getElementById(htmlobj).innerHTML='<img src="images/ajax-loader.gif">';
                                document.getElementById('off_' + htmlobj).style.visibility='visible';
                                document.getElementById('on_' + htmlobj).style.visibility='hidden';
                                request.send("");
                        }
                }

                function loaded(){
                        if (request.readyState == 4) {
                                xmlobj = (request.responseXML);
                                request.abort();

                                xmlroot = xmlobj.documentElement;

                                alert(xmlroot);

                                canloading=true;
                               
                        }
                }


                function close_stat(htmlobj){
                        if (canloading==true){
                                document.getElementById('off_' + htmlobj).style.visibility='hidden';
                                document.getElementById('on_' + htmlobj).style.visibility='visible';       
                        }
                }

                htmlobj=0;
                canloading=true;

                request = createRequestObject();

                //htmlobject;

        </script>

documentElement = null
parsed=true
зато
parseError.errorCode = -1072897514
parseError.reason = Требуется точка с запятой.

Я так понимаю что это изза слишком большого from в xml документе поскольку если поставить маленькое значение в поле то возвращает объект без ошибок. Как эту проблему побороть?

wvxvw 10.07.2008 15:13

Вложений: 1
я думаю, что парсеру амперсанды не нравятся, но могу ошибаться. Попробуй в CData тот же текст запихнуть.
Вложение 20116

KidsKilla 10.07.2008 15:31

ниахота разбираться в куче
http://htmlcoder.visions.ru/JavaScript/?30 мб поможет...

der hund 10.07.2008 15:32

to wvxvw. Есть вы правы. Спасибо. Все работает.


Часовой пояс GMT +4, время: 13:58.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.