Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: библиотека xAJAX

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Открыть новую тему     Написать ответ в эту тему

6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Страница разработчика: http://xajax-project.org/
 
Последняя версия: xAJAX 0.6beta1
 
Докуменатция: Смотреть.
 
Решения:

 


 
Следует помнить!:
(мини-faq от 6epcepk'a)
  • Почему-то не обновляется/добавляется информация.
    Не забываем как должна выглядить функция:

    Код:
         
    function test() {
        $objResponse = new xajaxResponse();
        $objResponse->setCharEncoding('windows-1251');
        ...
        return $objResponse;
    }

     
  • Почему-то не обновляется/добавляется информация #2.
    Если присутствует символы кириллицы, то опять же вспоминаем как должна выглядить функция:

    Цитата:
         
    function test() {
        $objResponse = new xajaxResponse();
        $objResponse->setCharEncoding('windows-1251');
        ...
        return $objResponse;
    }

     
  • В базу данных добавляются кракозябры вместо кириллицы.
    А тут функция должна иметь другой вид:

    Цитата:
         
    function test() {
        $objResponse = new xajaxResponse();
        ...
        return $objResponse;
    }

     
  • Почемуто xajax.getFormValues('formID') не получает поля формы.
    Особенностью xajax является то что форма должна быть первого уровня или говоря другими словами не должна находиться в другой форме.
 





Лучше уточнить название, чтобы понятнее было о чем идет речь /Cheery/

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 23:12 18-04-2006 | Исправлено: Alukardd, 00:51 19-03-2011
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Brodyaga
Спасибо за ответ, очень жалко что xAjax не поддерживает такую жизненно важную функцию. Так и буду делать через iframe.
 
п.с. меня интересует вот что, xAjax не поддерживает пересылку файлов или просто это очень сложно реализовать?

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 00:15 23-06-2007
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Delphi6
Посмотри на trydobe.com

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 00:19 23-06-2007
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
6epcepk
Действительно ценный линк, даже исходник дают, спасибо. Сейчас буду обдумывать как ;t все лучше реализовать.  
 
С одной стороны trydobe.com дает очень хорошие возможности, включая прогресс бар, но с другой стороны это доп. модуль, работоспособность которого зависит от одного энтузиаста
 
Думаю мой вопрос можно считать временно закрытым, всем спасибо
 
Добавлено:
А есть ли возможность заставить xAjax функцию ждать пока не придет ответ от сервера? Ну типа что бы она приостановила JS код пока не закончит работу? У меня просто есть цикл:

Код:
    while (totalField.value != finishedField.value) {
      xajax_DownloadLinks();
    }

функция DownloadLinks изменяет значения полей totalField и finishedField, по этой причине мне нужно что бы после вызова xajax_DownloadLinks() подождал завершения прихода данных, обновил филды и только потом проверил на верность условие цикла. А так он запускается бесконечно и ясно браузер подвисает (переполняется запросами).

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 00:49 23-06-2007
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Delphi6
Не надо беспокоиться за его функционал - основной cgi-скрипт загрузки был написан другими людьими очень давно и полностью протестирован временем.
Вообще чесно говоря у него не очень хорошо и качественно все написано, но является основой для личного переделывания. В идеале - плагин сделать.
 

Цитата:
Ну типа что бы она приостановила JS код пока не закончит работу?

http://wiki.xajaxproject.org/Xajax_0.5:_Tips_and_Tricks:_New_Features#waitFor_response_command

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 10:24 23-06-2007
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
6epcepk

Цитата:
Вообще чесно говоря у него не очень хорошо и качественно все написано, но является основой для личного переделывания. В идеале - плагин сделать.

Вот в этим я с вами на все 100% согласен, надо просмотреть исходник и как там реализована отсылка файла. Как я подозреваю все делается через JS который считывать локальный файл частично и отсылает на сервере CGI скрипту, который в свою очередь все записывает в tmp файл. Этим и объясняется как они добиваются progress бара.
 
Это и породило идею заюзать этот алгоритм но только в других личных целях. Обрабатывать данные частично, и возвращать серединный результат пользователю, после чего возобновлять обработку. Как вариант придумал вот такой подход. Вызывать функцию JS с помощью ответа xajax (с помощью функции addScriptCall). Если есть что еще что обработать, то вызываем JS функцию которая будет в свою очередь вызывать ее.
 
Следующий вопрос, разве через xajax нельзя вернуть сгенерированный файл для скачки? Или это надо делать напрямую?

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 14:17 23-06-2007 | Исправлено: Delphi6, 16:33 23-06-2007
diezel

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
через JS который считывать локальный файл частично

С каких пор JS может считывать локальные файлы? Такого вроде никогда не было.

Всего записей: 310 | Зарегистр. 10-02-2003 | Отправлено: 16:40 23-06-2007
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
diezel

Цитата:
С каких пор JS может считывать локальные файлы? Такого вроде никогда не было.

Это только подозрения (теоретически) и идея как такое осуществляется, я пока занят немного другим вопросом что бы разобрать исходник. Но эту идею заюзал в задаче с отображением прогресса выполненной работы очень красиво получилось.
 
Так что на счет скачивания файла? Реально через xajax ответ передать текстовой или zip файл на скачку? Для этого надо редактировать header, даст ли мне xajax возможность это сделать?

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 16:49 23-06-2007 | Исправлено: Delphi6, 16:49 23-06-2007
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Delphi6
Не реально, как и сказал diezel.
 
Что делает аддон от трудоб? Происходит отправка формы cgi-скрипту, где располагается file-input.
 
А по поводу отправки через яваскрипт - не ломайте светлую голову (: Разработчики XAJAX'а уже давно все перепробовали (:

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 00:08 24-06-2007
Delphi6



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
6epcepk
Спасибо.

Цитата:
Что делает аддон от трудоб? Происходит отправка формы cgi-скрипту, где располагается file-input.

Какой же он тогда использует алгоритм для создания прогресс бара? Я предположил что он частично получает файл и на каждую порцию генерирует ответ с определенным значением прогресса.
 
Что касается генерации файла на сервере и передаче его пользователю для скачки - сделал его старым методом через хидер, без аджакс (позже сообразил что аджакс здесь совсем не уместен).

Всего записей: 2631 | Зарегистр. 06-07-2004 | Отправлено: 11:19 24-06-2007 | Исправлено: Delphi6, 11:20 24-06-2007
vitovt



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
а кто-нибудь пробовал сделать на xAjax скрипт AutoComplete?

Всего записей: 1087 | Зарегистр. 02-05-2002 | Отправлено: 19:11 25-06-2007
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
В теории делается очень легко, пока надобности в нем не возникало.
Конкретные вопросы?

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 19:40 25-06-2007
vitovt



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
6epcepk
 
в теории я понимаю это нужно сделать так, посмотреть что вводит юзверь, отправить асинхронно скрипту, тот отдась XML, обработать его и вывести в DIV то что нужно. Я видел некоторые скрипты, не xAjax там все как-то сложно сделано,  я это ивжу проще ) вот проблема в том, что не работал никогда с xAjax ))

Всего записей: 1087 | Зарегистр. 02-05-2002 | Отправлено: 19:52 25-06-2007
6epcepk



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Тогда вам нужно разобраться как хаякс обрабатывает самые элементарные команды (assign).
 
Общий алгоритм:
 
1. Есть поле ввода, по событию onChange="xajax_set_data(this.value);"
2. Хаякс-функция обрабатывает данные и:
 - если данные есть, то assign в блок;
 - если данные есть, то assign стиль для блока видимый;
 - если данных нет, то assign стиль для блока НЕ видимый.

Всего записей: 2603 | Зарегистр. 02-05-2003 | Отправлено: 20:02 25-06-2007
Damned_WarGot

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос.  
Сейчас делаю чат, фрейм ввода текста сделал на xajax, весьма удобно, но после передачи инфы из строки ввода строка ввода не обнуляется.  
Пробовал через  
    $objResponse = new xajaxResponse();
    $objResponse->AddClear("chat_text","innerHTML");
не получается, сама форма ввода:
<form id="chat_form" onsubmit="xajax_chat_add(xajax.getFormValues('chat_form'));return false;">
<input type="text" id="chat_text" name="chat_text" maxlength="300"  size="100">
<input type="submit" value="написать" >
</form>
 
Подскажите решение плз

Всего записей: 30 | Зарегистр. 19-03-2007 | Отправлено: 18:21 17-07-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Damned_WarGot

Цитата:
Подскажите решение плз

берешь и присваиваешь ей пустое значение

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:29 17-07-2007
Damned_WarGot

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery

Цитата:
берешь и присваиваешь ей пустое значение

 
 
Спасибо с этим разобрался -)
 
Но возникло ещё 2 проблемы не преодолимые пока что -(
 
1. Есть форма, в форму вбиваются данные дальше их отдаю на проверку xajax функции, надо чтобы при трушном результате проверки данные уходили к другому файлу post ом. Как будто юзер просто заполнил форму и никакой промежуточной функции не было.
 
2. Как в xajax функции вызывать другую функцию ? Т.е. у меня есть основная функция которая выполняет различные проверки и по результатам проверки должна грузить другие функция. Никакие данные от проверочной функции к остальным не передаются, их надо просто вызвать.
 
Заранее спасибо за помощь.
 

Всего записей: 30 | Зарегистр. 19-03-2007 | Отправлено: 03:55 12-08-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Damned_WarGot

Цитата:
Есть форма, в форму вбиваются данные дальше их отдаю на проверку xajax функции, надо чтобы при трушном результате проверки данные уходили к другому файлу post ом. Как будто юзер просто заполнил форму и никакой промежуточной функции не было.  

ну и? берешь форму и submit() ее


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 04:01 12-08-2007
Damned_WarGot

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery

Цитата:
ну и? берешь форму и submit() ее  

 
Сорри, но можно пояснить как это сделать ? -)

Всего записей: 30 | Зарегистр. 19-03-2007 | Отправлено: 04:15 12-08-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Damned_WarGot

Цитата:
Сорри, но можно пояснить как это сделать ? -)

если у формы есть id, то document.getElementById('id').submit()

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 04:28 12-08-2007
Damned_WarGot

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
 
Спасибо

Всего записей: 30 | Зарегистр. 19-03-2007 | Отправлено: 17:35 12-08-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: библиотека xAJAX


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru