посылка формы без перезагрузки страницы
например как сделано в некоторых версиях ИПБ когда быстрый ответ сразу добавляется на страницу...
пробовал xajax (http://www.xajaxproject.org/) но их скрипты не работает в Опере...
читал доки по JsHttpRequest, но немного не понял) как я разобрал примеры, в обработчике всегда формируется массив $_REQUEST, а в той странице что посылала и куда добавлять, выводится используя req.responseJS.
а вот вопрос по JsHttpRequest... допустим после посылки формы что-то пихается в бд, то что в бд выводится на самой страницы... если отправляют одновременно 2 юзера, один чуть раньше, 2й чуть позже, то как сделать чтобы 2й после посылки своей формы увидел что послал 1й?
или какие другие методы есть?
читал доки по JsHttpRequest, но немного не понял)
Полистай на досуге, может окажется полезным http://www.ixbt.com/soft/ajax.shtml .
Через DOM API. Кури спецу с W3C, там все расписано подробно. Можешь с DOM Level2 HTML сразу начать.
Ерунда. Вот здесь XAJAX прекрасно работает и в Опере, и в FF. В IE есть небольшие проблемы, но как жеж с IE и без них :)
http://www.xajaxproject.org/ Examples - ни один пример не работает... Opera 8.01...
2alekciy: сенкс... попробую разобраться...
а вот такой вопрос по JsHttpRequest... если мне не надо выводить что-то после посылки формы, мне просто в js-части оставить что-то типа?
req.open(null, 'script.php', true);
req.send( { 'form': document.getElementById('frm') } );
http://www.xajaxproject.org/ Examples - ни один пример не работает... Opera 8.01...
Это достаточно старая версия Оперы. Уже давно вышла 9-я версия. Обновись и наслаждайся XAJAX-ом ;)
а вот такой вопрос по JsHttpRequest... если мне не надо выводить что-то после посылки формы, мне просто в js-части оставить что-то типа?
req.open(null, 'script.php', true);
req.send( { 'form': document.getElementById('frm') } );
Здесь пример: http://www.concepts.net.nz/xajax/file_upload_example.php Насколько я понял, они вообще отдельные скрипты для аплоада используют...
[quote=Opera.com]
Changelog for Opera 8.01 for Windows
Improvements to XMLHttpRequest support, added support for XMLHttpRequest.setRequestHeader.
[/quote]
http://www.xajaxproject.org/ Examples - ни один пример не работает... Opera 8.01...
2alekciy: сенкс... попробую разобраться...
а вот такой вопрос по JsHttpRequest... если мне не надо выводить что-то после посылки формы, мне просто в js-части оставить что-то типа?
req.open(null, 'script.php', true);
req.send( { 'form': document.getElementById('frm') } );
Можно и так, хотя много завит от остального кода в скрипте. А насчет обновления это правильный совет. Чем обосновано использование такой старой версии? В 8-ке JsHttpRequest еше только зарождался, со всеми вытакающими из этого выводами ;)
ладно, спасибо всем *погрузился в чтение*
ладно, спасибо всем *погрузился в чтение*
:D
Обоснование безусловно ВЕСКОЕ! :D :rolleyes:
Если под JsHttpRequest по подразумеваешь библиотеку Subsys_JsHttpRequest.js, то понятное дело, что она работает. Потому как эта библиотека может обмениваться данными с сервера без перезагрузки и без XMLHttpRequest объекта. Ибо клиенские приложения могли обмениваться данные с сервером без перезагрузки страницы и без (и задолго до того) AJAX и JS объекта XMLHttpRequest.
Для тех кто в танке - AJAX и его аналоги начинают нормально работать в жOper'e только начиная с версии 8.5
ЗЫ насколько я понимаю далеко не все в этом топике понимают разницу между AJAX и другими способами динамического обновления содержимого без перезагрузки. Использование JsHttpRequest не является AJAX'ом. Хотя и работает по похожему принципу
только вот примеры с http://www.xajaxproject.org/ всё равно не работают (поставил Opera 9.02)
попробуй это. Лично я в свое время сравнив XAJAX и SAJAX выбрал последний. И там все работает даже в более древних версиях оперы чем 8.5.