Вопрос по связке AJAX -> XML -> PHP

Статус
В этой теме нельзя размещать новые ответы.

Qvazar

Новичок
Вопрос по связке AJAX -> XML -> PHP

Уважаемые господа, очень нужна помощь, либо ссылка по следуюещему вопросу:
есть html файл, из которого посредством ajax передаются данные из формы в php скрипт,
т.е. есть два поля "Имя" и "Фамилия", человек нажимает на кнопку "Найти",
данные из полей заворачиваются в XML, передаются в PHP скрипт, скрипт парсит XML, ищет запрошенного пользователя, если такой есть -> формирует XML с данными пользователя и выплевывает его на вывод,
Javascript парсит полученый вывод (т.е. XML) и при помощи DOM формирует табличку с данными пользователя.

Что я знаю:
1. Что такое PHP
2. AJAX
3. DOM

Что не понятно:
1. Как "правильно" оформить запрос из AJAX, т.е. я знаю что можно передать данные в скрипт или POST'ом или GET'ом, но требуется обязательно завернуть в XML и отдать скрипту.
2. Как "правильно" распарсить XML на стороне PHP
3. Как правильно распарсить XML, полученный от PHP на клиенте.

Т.е. мне нужна помощь в методике, т.е. какие объекты нужно использовать нужно на клиенте и какими функциями нужно пользоваться на стороне php.

Заранее благодарен.
 

vasa_c

Новичок
>Как "правильно" распарсить XML
Либо ручками, либо специально существующими для этого библиотеками.
http://ru.php.net/dom

>Как правильно распарсить XML, полученный от PHP на клиенте.
Так в XMLRequest'е свойство есть — responseXML в котором уже находится разобранный объект с которым можно работать через DOM.

>Как "правильно" оформить запрос из AJAX, т.е. я знаю что можно передать данные в скрипт или POST'ом или GET'ом, но требуется обязательно завернуть в XML и отдать скрипту.

Во-первых - зачем?
Во-вторых - в чем проблемы?
 

vasa_c

Новичок
Ну так чего сложного передать в POST строку, которая представляет из себя XML-документ?
 

Qvazar

Новичок
Автор оригинала: vasa_c
Ну так чего сложного передать в POST строку, которая представляет из себя XML-документ?
я так и прикинул в принципе, просто я не пользовался ajaxom и предполагал что уже есть некий выработанный механизм функционирования этой модели

-~{}~ 08.06.06 19:36:

Автор оригинала: [SDem]
http://www.webmascon.com/topics/technologies/13a.asp
тут есть готовый примерчик.. так тчо от него можно и плясать

и вообще вот есть такая ссылка.. там много полезного
http://www.google.com/search?ie=UTF-8&hl=ru&q=сверхдинамичные веб интерфейсы
В своё время помогло :)
О! Отличные ссылки! Большое спасибо :)
 

Sam

Новичок
Автор оригинала: Qvazar
1. Как "правильно" оформить запрос из AJAX, т.е. я знаю что можно передать данные в скрипт или POST'ом или GET'ом, но требуется обязательно завернуть в XML и отдать скрипту.
почитай ссылку [SDem]'а. "заворачивать" в xml ничего не надо, всё само завернётся.

2. Как "правильно" распарсить XML на стороне PHP
в мануале всё есть

3. Как правильно распарсить XML, полученный от PHP на клиенте.
тоже парсить ничего не надо, просто делаешь xslt и на клиентской части яваскриптом xml+xslt = html
 

Qvazar

Новичок
Автор оригинала: Sam
почитай ссылку [SDem]'а. "заворачивать" в xml ничего не надо, всё само завернётся.


в мануале всё есть


тоже парсить ничего не надо, просто делаешь xslt и на клиентской части яваскриптом xml+xslt = html
.

http://www.webmascon.com/topics/technologies/13a.asp

Простите за тупость, но мне четко сказано "Данные в php передать в виде xml, в php скрипте распарсить xml и сделать запрос к базе"

В этом примере идет просто передача параметра через GET
...
url = 'http://localhost/xml/checkUserName.php?q=' \\
+ input;
loadXMLDoc(url);
...

function loadXMLDoc(url) {
// branch for native XMLHttpRequest object
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send(null);
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send();
}
}
}

-~{}~ 08.06.06 20:37:

Как все само завернется????
 

Sam

Новичок
кем "чётко сказано"? зачем?
это простой http запрос
 

Qvazar

Новичок
Автор оригинала: Sam
кем "чётко сказано"? зачем?
это простой http запрос
Заказчиком (Софтверной компанией)

На самом деле, я тоже считаю что передача в скрипт бессмысленна в XML виде.
Однако - такое требование.
 

Sam

Новичок
url = 'http://localhost/xml/checkUserName.php?q=<user><name>' + name + '</name><pwd>' + pwd + '</pwd></user>';
 

flash-vkv

Новичок
ну коль требует заказчик то геморй можно такой:
в пехе при XSLT можно вызывать функции пехи если требуется отход от традиций SAX и DOM
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху