| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Применение библиотек > Проблемы с мультибраузерностью (AJAX) |
| Автор: Yonick 12.4.2007, 22:07 | ||||||
Решил познакомится с Ajax, а именно с JsHttpRequest. Решил сделать поаккуратнее, написал и выделил в отдельный файл кусок кода:
Включаю этот файлик в фронтенд и отправляю запрос:
На стороне сервера все выглядит примерно так:
И вот все это дело работает только в мозилле! (Проверял в MyIE, Opera и Mozilla). Если кто знает в чем проблема, буду очень признателен! Заранее спасибо! |
| Автор: Sardar 13.4.2007, 19:25 |
| Выкладывай ссылку на страницу. В примере всё в порядке. |
| Автор: smartov 13.4.2007, 21:24 |
| Yonick, заодно со страничкой хотелось бы узнать почему вы выбрали JsHttpRequest, а не XmlHttpRequest собственно |
| Автор: SelenIT 13.4.2007, 22:29 |
smartov, так ведь http://dklab.ru/lib/JsHttpRequest/, насколько мне известно, использует внутри себя XmlHttpRequest везде, где можно, и только в экстренных случаях типа вымерших 7-х Опер переключается на эксклюзивный котеровский подход с динамическим тегом <script>... или я не про ту JsHttpRequest подумал? |
| Автор: smartov 13.4.2007, 22:38 |
| SelenIT, ну как бы JsHttpRequest (как XmlHttpRequest), насколько я знаю, это подход, а не либа. Именно завязанный на динамическом <script>. Или у меня неверная инфа? |
| Автор: SelenIT 13.4.2007, 22:46 |
| Из моих наблюдений за эволюцией этой штуки (напр. http://forum.dklab.ru/js/jshttprequest/41_jshttprequestDinamicheskayaPodkachkaDannihBezPerezagruzkiStranitsiChast1.html, и на XPoint'е что-то было, но сейчас не могу найти) сначала это действительно был самостоятельный подход, который Котеров сам придумал и воплотил в одноименной либе. Но начиная со второй версии либы она автоматом выбирает между стандартным и нестандартным подходами - ради эффективности, совместимости с Safari и т.п. Причем эти нюансы инкапсулированы внутри, а снаружи работа либы выглядит (по крайней мере, теоретически) везде единообразно... |
| Автор: Alx 13.4.2007, 22:57 |
| знаете, может звучит глупо.. но: я с другими библиотеками не работал, но эта самая лучшая. вот честно.. никаких недостатков.. |
| Автор: Sardar 13.4.2007, 23:27 |
На самом деле динамическую подзагрузку скриптов ещё с ИЕ5.5 использовать начали, метод не новый. Но либа действительно выполнена качественно, постепенно вобрала в себя самое лучшее и сейчас использует XMLHttpRequest везде, где это возможно. |
| Автор: Yonick 15.4.2007, 20:00 |
| Sardar, дело в том что все только на стадии разработки поэтому нечего выкладывать. По идее все должно работать, поскольку JsHttpRequest и разрабатывался чтобы упростить жизнь разработчикам, но не тут-то было не фурычет зараза smartov, насколько я понимаю JsHttpRequest более универсален. Используя XMLHttpRequest я столкнулся с проблемами кодировки при возврате результата запроса с сервера, это и послужило первой причиной поиска более оптимальных решений! Но пока не очень плодотворно:( |
| Автор: Alx 15.4.2007, 23:52 |
| JsHttpRequest это ajax-библиотека, использующая различные методы реализации подгрузки данных, в т.ч. XMLHttpRequest, с сервера, для разных браузеров и т.п. + многие другие полезные функции. XMLHttpRequest - это одна из возможных технологий подгрузки данных. |
| Автор: Yonick 21.4.2007, 18:30 |
| Проблема с отображением решена! Все дело в том что не нужно было выводить результат в бэкенде через echo. Нужно присваивать все переменной $_RESULT а обрабатывать через responseJS! Но тут возникает новый вопрос: Как обрабатвать responseJS? Я передаю $_RESULT массив строк "subj". $_RESULT = array ("subjects" => $subj); Как мне обрабатывать httpRequest.responseJS.subjects чтобы вывести на экран все элементы массива? |
| Автор: Alx 21.4.2007, 19:46 | ||||
эврика!
какие все элементы? если $subj это строка, то из скрипта - responseJS.subjects. если массив - responseJS.subjects[n] |