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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
SRangeR

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
хочу вставить ява скрипт на страницу. Скрипт делается при загрузке страницы.
    <script type='text/javascript'>
        /* <![CDATA[ */
        window.onload = function() {
            <?php $aRequests['load']->printScript(); ?>;
        }
        /* ]]> */
    </script>
    
function load()
    {
        $objResponse = new xajaxResponse();
        $scr = "function GoBack() {        if (confirm('Are you sure you want to go to the previous page?')) {                history.back()        }    }timestr = '00:00:00';tid = 0;pause = 0;var to;var bcount;var tcount;function writer(){document.write('test'); }function time(n) {    tid=window.setTimeout('time(1)',to);    today = new Date()    if(today.getMinutes() < 10){         pad = '0'}    else      pad = '';    if(today.getSeconds() < 10){         pads = '0'}    else      pads = '';timestr=today.getHours()+':'+pad+today.getMinutes()+':'+pads+today.getSeconds();                f.result.value = timestr;                window.status = timestr;  window.clearTimeout(tid);  tid=window.setTimeout('time()',to);}function start(x) {  f=x;                to=60;  time(x);  }function cleartids() { window.clearTimeout(tid);}";
        $scr = 'function GoBack() {        if (confirm("Are you sure you want to go to the previous page?")) {                history.back()        }    }timestr = "00:00:00";tid = 0;pause = 0;var to;var bcount;var tcount;function writer(){document.write("test"); }function time(n) {    tid=window.setTimeout("time(1)",to);    today = new Date()    if(today.getMinutes() < 10){         pad = "0"}    else      pad = "";    if(today.getSeconds() < 10){         pads = "0"}    else      pads = "";timestr=today.getHours()+":"+pad+today.getMinutes()+":"+pads+today.getSeconds();                f.result.value = timestr;                window.status = timestr;  window.clearTimeout(tid);  tid=window.setTimeout("time()",to);}function start(x) {  f=x;                to=60;  time(x);  }function cleartids() { window.clearTimeout(tid);}';
        $objResponse->script($scr);
        return $objResponse;
    }    
 
    echo '<form name="time">
<input type="text" size="12" name="result"  onfocus="this.blur()"  style="text-align: center; font-family: sans-serif; font-size: 12pt; background-color: #006699; color: #33CC99; font-weight:bold;">
</form>';
 
Интересно что не так сделано...

Всего записей: 37 | Зарегистр. 07-04-2007 | Отправлено: 10:59 08-03-2009 | Исправлено: SRangeR, 11:05 08-03-2009
AlexsWulf

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток.
 
Есть такая задача что то не могу придумать как ее решить
Может у кого есть идея.
 
Есть таблица на сайте по клику на строке таблицы вызывается форма редактирования строки которая заменяет данную строку

Код:
$response->Assign("id_".$name, "innerHTML", "<td colspan='5'>".$this->smarty->fetch('xajax/meta_edit.html')."</td>");

Если пользователь просто изменил данные и нажал Ок то все нормально таблица с ново регенерируется с сервера.
Проблема в том что если пользователь щелкнул на другой строке таблицы то открывается новая форма и предыдущая остается открытой и все перестает работать
Вот я не пойму как мне узнать что какая то форма уже открыта и закрыть ее (((
 
Добавлено:
И такой еще вопрос
Меняю содержимое тега <tr> таким образом

Код:
$response->Assign("id_".$name, "innerHTML", $this->smarty->fetch('xajax/meta_edit.html'));

 
файл meta_edit.html содержит следующий код
 

Код:
<td>
        {$data.colum_name}
        <input type="hidden" name="data[colum_name]" value="{$data.colum_name}">
        </td>
        <td><input name="data[alias]" value="{$data.alias}" type="text" onchange="xajax_edit_alias(this.value)">
        <font id="error_alias"></font>
        </td>

 
Все работает нормально.
 
Как только меняю код на

Код:
<form id="connectForm_{$data.colum_name}" onsubmit="return false;">
        <td>
        {$data.colum_name}
        <input type="hidden" name="data[colum_name]" value="{$data.colum_name}">
        </td>
        <td><input name="data[alias]" value="{$data.alias}" type="text" onchange="xajax_edit_alias(this.value)">
        <font id="error_alias"></font>
        </td></form>

перестает работать.
А точнее браузер не чего не отображает но если посмотреть исходный код получееной страницы то код формы там присутствует.
Что я не правильно сделал?

Всего записей: 8 | Зарегистр. 10-01-2006 | Отправлено: 11:37 12-03-2009
AlexsWulf

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

Цитата:
а где вы такой вызов видели?  

Такой код встретил на 4 или  странице данной ветки форума.
 
Насколько я понимаю сейчас у меня проблема которая описана в этой ссылке. Там написано что решение не найдено
И я в полном тупике, не знаю что мне делать

Всего записей: 8 | Зарегистр. 10-01-2006 | Отправлено: 21:56 12-03-2009
OlegKor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пытаюсь подключить и использовать xAjax 0.5
Пробую на примере описанном здесь.
Использую на:
Joomla 1.5.10
ОС : FreeBSD
PHP : 5.2.10
MySQL : 5.1.36
Компонент: Собственный.
====================
файл - umcitajax.init.php
 

Код:
<?php  
include_once JPATH_LIBRARIES.DS.'xajax'.DS.'xajax_core'.DS.'xajax.inc.php' ;
$xajax = new xajax(JPATH_COMPONENT_ADMINISTRATOR.DS.'umcitajax.func.php');  
$xajax->configure('debug', true);
$xajax->configure("javascript URI", '/libraries/xajax/');
$xajax->register(XAJAX_FUNCTION,"doTimestamp");
?>  
 

====================
файл - umcitajax.func.php
 

Код:
<?php  
include_once JPATH_COMPONENT_ADMINISTRATOR.DS.'umcitajax.init.php';  
 
function doTimestamp()  {  
// создаем экземпляр класса xajaxResponse  
$objResponse = new xajaxResponse();  
// Формируем текст возвращаемого сообщения в переменной $sOut  
$time = time();  
$sOut = "Текущее время сервера: ".date("H", $time)." часов, ";  
$sOut .= date("i", $time)." минут и ";  
$sOut .= date("s", $time)." секунд. В формате UNIX: $time";  
// Устанавливаем объект xajaxResponse для обновления элемента HTML, у которого ID = 'timebox'  
$objResponse->addAssign("timebox", "innerHTML", $sOut);  
// возвращаем результат функции  
return $objResponse->getXML();  
} // Конец функции doTimestamp  
 
$xajax->processRequests(); - Здесь имею проблему ...
 
?>  
 

=================
Проблема в следующем. Весь код отрабатывается пока $xajax->processRequests();  - цикл Ajax обработки - ЗАКОМЕНТИРОВАН. (в коде подкрашено красным).
Как только я снимаю коментирование строки ( $xajax->processRequests(); ) я получаю в результате чистую страницу ...
 
Пожалуйста подскажите в чем может быть проблема. Почвему этот метод не отрабатывается? Или по какой причине может не отрабатываться?

Всего записей: 19 | Зарегистр. 27-10-2006 | Отправлено: 03:16 21-08-2009
Cheery



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

Цитата:
Как только я снимаю коментирование строки ( $xajax->processRequests(); ) я получаю в результате чистую страницу .

включите отображение ошибок или логгирование их в файл.

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 03:19 21-08-2009
OlegKor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В логе ошибок ПХП пишется:
PHP Fatal error:  Call to undefined method xajax::processRequests()
"Вызов необъявленного метода"
 
Я тут что то не понимаю, как такое может быть?  
Пожалуйста, пожскажите где могут быть грабли, я впервые сталкиваюсь с АЯКС и тем более с xAjаx...
Я в шоке, три строчки кода и невозможно настроить...потерял уже 3-е суток

Всего записей: 19 | Зарегистр. 27-10-2006 | Отправлено: 11:44 21-08-2009
Cheery



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

Цитата:
 
Я тут что то не понимаю, как такое может быть?  

какой файл первым вызывается?
и там по ссылке код несколько другой.. например  
$objAjax->registerFunction("doTimestamp");  
а не ваше
и, кстати, уверены что с путями проблем нет? возможно инклуд не срабатывает.. замените на require и посмотрите что будет

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:19 21-08-2009 | Исправлено: Cheery, 21:20 21-08-2009
OlegKor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Первым вызывается umcitajax.init.php
 
>>> и там по ссылке код несколько другой.. например  
>>> $objAjax->registerFunction("doTimestamp");  
 
По ссылке (в примере) как я уже понял, для версии xajax 0.2 а у меня xajax 0.5
В связи с этим есть замены. В новой версии произошли изменения, в частности registerFunction заменена на register ...  Так же еще сам досмотрелся что эти изменения коснулись и addAssign, теперь assign. Такие и другие изменения задекларированы ТУТ (и как всегда самое интересное в последних строчках) ...
 
К стати, $xajax->processRequests(); и $xajax->processRequest(); - это тоже различие версий и оно значительное.
 
Вобщем, учитывая изменения в новой версии я тщательно пересмотрел свой код и внес немало поправочек, но теперь я имею другую проблему (надеюсь последнюю):
 
Дебагер xAjax-а выдает ошибку:
ERROR: No response processor is available to process the response from the server.
 
Целый день над ней бьюсь и не могу решить, может кто подскажет?
 

Код:
xajax debug output
Fri Aug 21 2009 23:47:36 GMT+0300 (FLE Standard Time)
 
DONE [517ms]
 
Fri Aug 21 2009 23:47:36 GMT+0300 (FLE Standard Time)
 
ERROR: No response processor is available to process the response from the server.
Content-Type: text/html; charset=utf-8

 
Fri Aug 21 2009 23:47:36 GMT+0300 (FLE Standard Time)
 
RECEIVED [status: 200, size: 34922 bytes, time: 500ms]:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>>>>>>>>>>>>>>>>>>>>ЗДЕСЬ КОД ВСЕЙ СТРАНИЦЫ --- МНОЙ ВЫРЕЗАНО -----  <<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
Fri Aug 21 2009 23:47:36 GMT+0300 (FLE Standard Time)
 
SENT [37 bytes]
 
Fri Aug 21 2009 23:47:36 GMT+0300 (FLE Standard Time)
 
SENDING REQUEST
 
Fri Aug 21 2009 23:47:36 GMT+0300 (FLE Standard Time)
 
CALLING:  
xjxfun: doTimestamp
URI:  
/usr/local/www/vhosts/MyProbeSite/administrator/components/com_umcit/umcitajax.func.php
 
Fri Aug 21 2009 23:47:36 GMT+0300 (FLE Standard Time)
 
POST: xjxfun=doTimestamp
&xjxr=1250887656118
 
Fri Aug 21 2009 23:47:36 GMT+0300 (FLE Standard Time)
 
INITIALIZING REQUEST OBJECT
 
Fri Aug 21 2009 23:47:36 GMT+0300 (FLE Standard Time)
 
PREPARING REQUEST
 
Fri Aug 21 2009 23:47:36 GMT+0300 (FLE Standard Time)
 
PROCESSING PARAMETERS [0]
 
Fri Aug 21 2009 23:47:36 GMT+0300 (FLE Standard Time)
 
INITIALIZING REQUEST
 
Fri Aug 21 2009 23:47:36 GMT+0300 (FLE Standard Time)
 
STARTING XAJAX REQUEST

Всего записей: 19 | Зарегистр. 27-10-2006 | Отправлено: 00:36 22-08-2009 | Исправлено: OlegKor, 01:09 22-08-2009
Cheery



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

Цитата:
Целый день над ней бьюсь и не могу решить, может кто подскажет?

поставьте Firefox и Firebug плагин. посмотрите обмен данными
http://codeigniter.com/forums/viewthread/106394/#543836

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:40 22-08-2009
OlegKor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 Cheery
 
Спасибо за совет!
 
Действительно Firebug останавливается на строке

Код:
try { if (undefined == xajax.config) xajax.config = {}; } catch (e) { xajax = {}; xajax.config = {}; };    xajax is not defined  
Только я вот не могу понять, это не подключилась библиотека xajax.inc.php  
или всеже подключилась но не создался объект  
$xajax = new xajax();
Ведь Firebug останавливается на конструкции try (попытка) и проходя далее есть два варианта: или объект создается для конфигурирования. или же генерируется исключение catch ... Когда я прохожу в дебагере по коду дальше, ни какого исключения не возникает. Значит я могу быть уверенным что объект создался и сконфигурировался. Ведь так? Или я что то недопонимаю?
Так же это видно в "Исходном коде страницы"
Код:
try { if (undefined == xajax.config) xajax.config = {}; } catch (e) { xajax = {}; xajax.config = {}; };
xajax.config.requestURI = "http://mps.dimmax.com.ua/administrator/index.php?option=com_umcit&controller=schoolcategories";
xajax.config.statusMessages = false;
xajax.config.waitCursor = true;
xajax.config.version = "xajax 0.5";
xajax.config.legacy = false;
xajax.config.defaultMode = "asynchronous";
xajax.config.defaultMethod = "POST";

Получается что $xajax = new xajax(); создан и сконфигурирован и $xajax->processRequest(); просто обязан отработать...
 
Мне не ясно, когда же создается "слушатель" чтобы обработать ответы от сервера?
1. Когда подключается библиотека - xajax.inc.php  
2. При создании объекта $xajax = new xajax(); Я думаю, что скорее всего в этом случае создается объект и конфигурируется
3. При создании $xajax->processRequest(); А вот здесь как-раз, по моему пониманию и должен бы создаваться "слушатель" ...
 
В моем случае Firebug, после конфигурирования объекта $xajax = new xajax(); проходит без запинки, но "слушатель" не создается ... судя по ошибке в дебагере xajax
 
Так же я предполагаю, что если бы объект $xajax = new xajax();  не создался, тогда и не подключился бы /xajax/xajax_js/xajax_core.js - у меня он подключился, так же и при объявлении $xajax->configure('debug', true); - подключился /xajax/xajax_js/xajax_debug.js  
 
Тогда что может мешать работать $xajax->processRequest(); ???
 
Или я все совсем не правильно понимаю. Прошу прощения, может мои вопросы (проблемы) глупые или детские, но я впервые сталкиваюсь с этой технологией. Подскажите пожалуйста...

Всего записей: 19 | Зарегистр. 27-10-2006 | Отправлено: 03:29 22-08-2009
OlegKor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Похоже что xAjax научит "Родину любить" ... Вторые сутки вживления трех строк кода ...
=================================
файл - umcitajax.init.php (стартует первым)  

Код:
<?php  
require_once (JPATH_SITE.'/administrator/components/com_umcit/library/xajax/xajax_core/xajax.inc.php') ;
$xajax = new xajax();  
$xajax->configure('debug', true);  
$xajax->configure("javascript URI", '../administrator/components/com_umcit/library/xajax/');  
$xajax->register(XAJAX_FUNCTION,new xajaxUserFunction('doTimestamp', JPATH_SITE.'/administrator/components/com_umcit/umcitajax.func.php'));
?>

====================  
файл - umcitajax.func.php  

Код:
<?php  
function doTimestamp()  {  
// создаем экземпляр класса xajaxResponse  
$objResponse = new xajaxResponse();  
// Формируем текст возвращаемого сообщения в переменной $sOut  
$time = time();  
$sOut = 'Текущее время сервера: '.date('H', $time).' часов, ';  
$sOut .= date('i', $time).' минут и ';  
$sOut .= date('s', $time).' секунд. В формате UNIX:'. $time;  
// Устанавливаем объект xajaxResponse для обновления элемента HTML, у которого ID = 'timebox'  
$objResponse->assign('timebox', 'innerHTML', $sOut);  
// возвращаем результат функции  
return $objResponse;  
} // Конец функции doTimestamp
 
// Инициализация работы с AJAX, регистрация своих функций  
require (JPATH_SITE.'/administrator/components/com_umcit/umcitajax.init.php');  
$xajax->processRequest();
?>  

===================
В итоге получаю ошибку из дебагера xAjax:
xajax debug output
Sat Aug 22 2009 17:12:18 GMT+0300 (FLE Standard Time)
ERROR: ResponseReceived: Invalid response XML: The response contains an unexpected tag or text: {data}.
Sat Aug 22 2009 17:12:18 GMT+0300 (FLE Standard Time)
RECEIVED [status: 200, size: 187 bytes, time: 255ms]:
 
<?xml version="1.0" encoding="utf-8" ?>
<xjx>
<cmd cmd="as" id="timebox" prop="innerHTML">SТекущее время сервера: 17 часов, 12 минут и 21 секунд. В формате UNIX:1250950341</cmd>
</xjx>

 
Sat Aug 22 2009 17:12:18 GMT+0300 (FLE Standard Time)
SENT [37 bytes]
Sat Aug 22 2009 17:12:18 GMT+0300 (FLE Standard Time)
SENDING REQUEST
Sat Aug 22 2009 17:12:18 GMT+0300 (FLE Standard Time)
CALLING:  
xjxfun: doTimestamp
URI:  
http://mps.dimmax.com.ua/administrator/index.php?option=com_umcit&controller=schoolcategories
Sat Aug 22 2009 17:12:18 GMT+0300 (FLE Standard Time)
POST: xjxfun=doTimestamp
&xjxr=1250950338631
Sat Aug 22 2009 17:12:18 GMT+0300 (FLE Standard Time)
INITIALIZING REQUEST OBJECT
Sat Aug 22 2009 17:12:18 GMT+0300 (FLE Standard Time)
PREPARING REQUEST
Sat Aug 22 2009 17:12:18 GMT+0300 (FLE Standard Time)
PROCESSING PARAMETERS [0]
Sat Aug 22 2009 17:12:18 GMT+0300 (FLE Standard Time)
INITIALIZING REQUEST
Sat Aug 22 2009 17:12:18 GMT+0300 (FLE Standard Time)
STARTING XAJAX REQUEST
==============================
Люди добрые !!!! Помогите. Уже все мозги наизнанку ...
Что же ему еще не нравится, я же ведь пользуюсь встроенными средствами библиотеки. Даже не прикасаюсь к структуре XML. Он сам это форимрует и сам же на это обижается.
Может для успешной работы, надо как то сам сервер сконфигурить по особенному???

Всего записей: 19 | Зарегистр. 27-10-2006 | Отправлено: 19:17 22-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OlegKor
проверьте, что у вас нигде нет пробелов перед <?php и после ?>
http://forum.joomla.org/viewtopic.php?f=231&t=253489

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:15 22-08-2009
OlegKor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
=== Мама родная, я скоро загавкаю ...
Ну не идет xAjax, хоть ты ему .....
===========================
2 Cheery, спасибо большое за участие, я вам искренне благодарен.
Сделал я ваши рекомендации и рекомендации по указанной вами ссылке. Нет в моем коде лишних символов ... Кроме того я установил Google Gears. Он чудесно поработал, похоже проинспектировал мои файлы в админконсоли по-своему, все это хорошо, но в результате, я имею то с чего начинал. Уже не знаю смеяться или плакать.
 
Я опять получил ошибку:
ERROR: No response processor is available to process the response from the server.
Content-Type: text/html; charset=utf-8

 
Меня уже интересует, а есть ли вообще люди, которые смогли запустить эту "балалайку" на Joomla 1.5 ? Или я пытаюсь выправить то, что и "Создатель" не выправит?  
Это просто капец ... "Дети идут в школу" = 17 символов - 35 ошибок.
=========================================
Смотрю дальше, что же здесь происходит?
По сути, получается ... что при попытке отработать задачу, xAjax почему-то возвращает главную страницу фронтенда в:
RECEIVED [status: 200, size: 7202 bytes, time: 148ms]: - об этом говорит xajax debug output
Даже не бекэнда (я сейчас из него работаю и код по сути виден только в нем) а фронтенда и это несколько удивительно. У меня возникает вопрос, что я сделал (или мог сделать) не так? В принципе, я предполагаю, что если в RECEIVED главная страница фронтенда, то эта страница понятия не имеет об xAjax и вероятно по этому получаю ошибку. Я конечно не уверен - это мои догадки. Но если это так и есть, то каким образом переадресация идет на Главную страницу фронтенда. Почему?
 
Дальше ... У меня в коде есть уже две попытки поднять xAjax. Вторая попытка - это код из примера, который входит в дистрибутив самого xAjax = multiply. Использую код этого примера все в тех же своих файлах:
 
1. umcitajax.init.php - здесь регистрирую функцию:
 
require_once (JPATH_COMPONENT_ADMINISTRATOR.DS."library".DS."xajax".DS."xajax_core".DS."xajax.inc.php") ;
$xajax = new xajax(JPATH_COMPONENT_ADMINISTRATOR.DS.'umcitajax.func.php');
$xajax->configure('debug',true);
$xajax->configure('javascript URI','../administrator/components/com_umcit/library/xajax/');
$xajax->register(XAJAX_FUNCTION,'multiply'); - как "книжка пишет" в файле multiply.common.php
============ Все, текст кончился ....
 
2. umcitajax.func.php - здесь прописываю саму функцию
function multiply($x, $y)
{
    $objResponse = new xajaxResponse();
    $objResponse->assign("z", "value", $x*$y);
    return $objResponse;
} - как "книжка пишет" в файле multiply.server.php
В этом же файле прописано:  
require (JPATH_COMPONENT_ADMINISTRATOR.DS.'/umcitajax.init.php');
$xajax->processRequest();
============== Все тут текста больше нету ...
 
3. В своем файле страницы:  
в блоке <?php ... и ... ?> пишу следующее:
require JPATH_COMPONENT_ADMINISTRATOR.DS.'umcitajax.init.php';  
echo $xajax->printJavascript();
в теге <form action=" ..................... пишу следующее:
    <input type="text" name="x" id="x" value="2" size="3" /> *  
    <input type="text" name="y" id="y" value="3" size="3" /> =  
    <input type="text" name="z" id="z" value="" size="3" />  
    <input type="button" value="Calculate" onclick="xajax_multiply(document.getElementById('x').value,document.getElementById('y').value);return false;" />
=========== как написано в файле примера - multiply.php
Сохраняю, копирую на сайт, тискаю на кнопочку .....
Результат? Ошибка описанная выше ...
 
Я три дня не могу запустить 2*3=, а что же будет если надо будет читать данные из базы, заливать их в таблицу и редактировать ...??? Просто Сталинград ...

Всего записей: 19 | Зарегистр. 27-10-2006 | Отправлено: 02:58 23-08-2009
Cheery



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

Цитата:
Меня уже интересует, а есть ли вообще люди, которые смогли запустить эту "балалайку" на Joomla 1.5  

это лучше спрашивать в теме по данной CMS
Портал Joomla (часть 2)

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 03:00 23-08-2009
OlegKor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ОК. Спасибо тебе Cheery ...
Только вот там где "трутся" Joomla, мало кто шарит... Все больше юзают готовое. Мне просто пришлось на время перепрыгнуть с "Windows Application = C#" на Joomla = PHP (так потребовал заказчик в решении приложения-задачи) а виндовые приблуды на FreeBSD и Apache, увы не крутятся ... Вот и хлебаю это все ...
Ладненько. Спасибо тебе еще раз. Буду доставать разработчика xAjax ...

Всего записей: 19 | Зарегистр. 27-10-2006 | Отправлено: 03:12 23-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OlegKor
ну вы же понимаете, что для этого придется разбираться в архитектуре Joomla и нам.
попробуйте написать просто отдельные файлы, а не модуль, и посмотрите как работает.
либо дайте ссылку на то, что сделали, в сети, чтобы посмотреть как идет обмен и что не так.

Цитата:
ERROR: No response processor is available to process the response from the server

возможно при запросе не указана функция обработки

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 03:25 23-08-2009
OlegKor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery ...
Так оно и так работает не касаясь ядра Джумлы. Это абсолютно левые файлы, в которых и крутится только задачка xAjax. Только и того, что используются константы Джумлы определяющие путь (ну чтобы не писать /usr/local/ ... и т.д) и подгружается файл с подключением библиотеки xAjax из Джумловской странички, да еще в этой же страничке прописаны кнопки и эл.управления ХТМЛ ... Вот и все. Я специально не монтировал код в Джумловский Controller-Model-View ... Сделал в отдельных файлах, как вобщем то и демонстрирует разработчик в своих примерах. Ну не принципиально изменил (имена файлов, переменные .. ну вобщем мелочь)

Всего записей: 19 | Зарегистр. 27-10-2006 | Отправлено: 03:38 23-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OlegKor
ну выложите куда нибудь.. либо просто на сервер и дайте ссылку посмотреть как работает, либо рабочие файлы

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 03:46 23-08-2009
OlegKor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://mps.dimmax.com.ua/administrator/index.php
пользователь: admin
pwd: admin
============
Это не "боевой" сайт - можно чудить что угодно - пробный вариант.
 
Посмотреть "ошибку" ....
1. Зайти в админ панель (реквизиты в первых строках)
2. Меню "Компоненты"
3. Подменю "UMCIT - Учет штампов"
4. Раздел-меню "Учебные группы"
Здесь и будут пробные кнопочки ...
 
Как передать файлы, не знаю?

Всего записей: 19 | Зарегистр. 27-10-2006 | Отправлено: 03:59 23-08-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OlegKor
у вас явно с обработкой что то не так.. причина - похоже у вас код выполняется дальше и возвращает html страницу.  

Цитата:
$xajax->processRequest();  

exit;
сделайте после обработки запроса.
 
либо этот код выводится ДО.. но весь этот HTML код там явно лишний.

Цитата:
Sat Aug 22 2009 20:09:12 GMT-0400 (Eastern Daylight Time)
 
ERROR: No response processor is available to process the response from the server.
Content-Type: text/html; charset=utf-8
 
Sat Aug 22 2009 20:09:12 GMT-0400 (Eastern Daylight Time)
 
RECEIVED [status: 200, size: 31884 bytes, time: 830ms]:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru" dir="ltr" id="minwidth" >
<head>

ругается на то, что сервер начал возращать страницу, а ajax код в странице не знает что с ней делать, так как этот HTML ему как снег на голову

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 04:10 23-08-2009 | Исправлено: Cheery, 04:12 23-08-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 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