вопрос по XMLHttpRequest
почему если создать req = new XMLHttpRequest(); то из всех обращений работает только req.responseText и req.responseXML? можно ли каким либо образом не используя готовых либ обращаться к возвращаемым переменным так же как при JsHttpRequest?
Потому что у этого объекта только два подобных свойства.
http://alekciy.ru/test/anchor.php?url=http%3A%2F%2Fwww.ixbt.com%2Fsoft%2Fajax.shtml&text=%D0%A1%D0%92%D0%9E%D0%99%D0%A1%D0%A2%D0%92%D0%90%3A#anchor
можно ли каким либо образом не используя готовых либ обращаться к возвращаемым переменным так же как при JsHttpRequest?
Хм.. юзать XMLHttpRequest объект. Но только тогда клиентскую часть придется писать самому.
после клика на кнопку что-то передаётся из формы в скрипт, скрипт возвращает 2 значения, одно из которых надо вывести в объект с id1, а другой с id2?
прийдётся после получения ответа от сервера в первом запросе вызывать второй, а в эти объекты пихать responseText?
Делаешь один запрос. На сервере формируешь XML со значениями для двух объектов. На клиенте парсишь этот XML и с полученными значениями делаешь все что хочешь.
Собственно изменно из-за этого я на JS и написал либу работы с XPath ибо по полученому дереву документа искать узлы по id не очень удобно. А вот XPath это сила!
Есть ещё вариант, передавать браузеру строго структурированный текст, а он при помощи javascript все разбирёт и расставит по своим местам. Правда это большой гемор, но в этом есть свой рационал если допустим тебе нужно будет получить большое количество переменных с сервера, использовать XML удобно, но вызовет большую нагрузку на трафик из за дублирущихся тегов XML, а сделать самому обработку снимет эту проблему. Правда, потеряешь гибкость, хотя в некоторых ситуациях даже наоборот.
Кроме того если слать текст, то для его парсирования придется писать лишний код (по сравнению с вариантом на XML), а это трафик. С другой строны JS кэшируются браузером, значит код будет загружен один раз.
Если в IE была нормальная поддежка DOM модели, то лично я работал бы исключительно с XML. Но мелкософт как всегда в своем репертуаре. Поэтому приходиться порой слать XML как текст, а потом его просто inner-ить куда нужно, а он уж автоматом разбирается в разметку.