Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тактика: PHP+XML+JS, Направьте на правильный путь 
:(
    Опции темы
BobiKK
Дата 17.12.2006, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: нет
Всего: 16



В общем, пытался осовить Ajax. Потихоньку учил, пока наконец не столкнулся с проблемой, что банального responseText уже не хватает. Данные надо вставлять на страницу по разному. Поскольку, книжек по Ajax'у в наличии не имеется, ибо жаба давит платить по 60 евро за какую-то книжонку, изобретаю велосипеды. За сим прошу помощи в оценке велосипеда и в наставлении на путь истинный.

Делаю, скажем, XML-файл следующего формата:
Код

<root>
    <content><![CDATA Это текст,<br /> который надо будет вставить, куда положено. ]]></content>
    <additional>Это другой текст, который тоже надо будет куда-нить там вставить</additional>
    
    <handler><![CDATA А здеся будет скрипт, который и будет расставлять данные, как он захочет ]]></handler>
</root>


Генерирую подобное творение через DOM
Код

<?php
header("Content-type: text/xml");
        $xml = new DOMDocument();
        $root = $xml->createElement('root');
        $root = $xml->appendChild($root);
        
        $content = $xml->createElement('content');
        $content = $root->appendChild($content);
        
        $content_value = $xml->createCDATASection("Собственно, основной контент");
        $content_value = $content->appendChild($content_value);        

        $add = $xml->createElement('additional');
        $add = $root->appendChild($add);
        
        $add_value = $xml->createTextNode("Additional data");
        $add_value = $add->appendChild($add_value);

        $handler = $xml->createElement('handler');
        $handler = $root->appendChild($handler);
        
        $script = $xml->createCDATASection("
            var foo = response.getElementsByTagName('content');  //JS-скрипт, который будет расставлять данные 
            alert(foo[0].childNodes[0].nodeValue);
        ");
        $script = $handler->appendChild($script);
        echo $xml->saveXML();


Ну и в заключение на клиентской стороне пишу ф-ию, которая будет обрабатывать результаты запросов:
Код

function showResponse(request)
{

if (request.getResponseHeader('content-type') == 'text/xml')
{
            var response = request.responseXML.documentElement;
            var script = response.getElementsByTagName('handler');
            eval(script[0].childNodes[0].nodeValue);
}
}


Хотелось бы услышать ваше мнение, куда мне положено идти smile

PM MAIL   Вверх
CyClon
Дата 20.4.2007, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Цитата
куда мне положено идти smile


Как вариант, сюда: http://google.com/search?lr=lang_ru&q=...+BOOKS+DOWNLOAD

Цитата
вставлять на страницу по разному


А конкретнее можно, как?


--------------------
user posted image
PM   Вверх
Alx
Дата 21.4.2007, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: нет
Всего: 78



BobiKK, 
я не пока не очень разобрался с PHP DOM, но я не очень понимаю - зачем ы создаёшь заново всё древо? ведь можно $xml->load('xml.xml')

а на клиенте - да, через eval...


--------------------
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: X технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0513 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.