Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> выполнить функцию в ajax, jquery php 
:(
    Опции темы
kovalenko123
Дата 5.6.2010, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



Всем привет! никак не могу побороть такую проблему : 

Страница с аяксом (та которая подготавливает на вывод только нужную информации которую в последствии вставляю в нужный контейнер дива) должна вызывать функцию на другой странице (как раз к той которая к ней обращалась) вся проблема в аргументах которые должны передаваться они каждый раз разные 
вот функуция в главной странице  
Код

<script type="text/javascript">
            function ftray(x){
                alert(x);
            }
        </script>



вот как обращаюсь к странице аякса
Код

<script type="text/javascript">
            function fclick(n){
                 query ="searchajax.php?nav="+n;
                document.getElementById("ajaxcontent").innerHTML="<center><img style='margin-top:10px;' src='images/ajax-loader.gif' alt='Загрузка'/></center>";

                $.get(query,
                function(data){
                    document.getElementById("ajaxcontent").innerHTML = data;
                });
            }
        </script>


в searchajax.php естественно что то делается и в конце мне надо выполнить ту самую функцию "ftray" 

Код

<script type="text/javascript">
ftray(78); 
        </script>


так же пробовал добавить условие на готовность документа (document.ready) ниче не получилось 

Теперь вопрос ) как можно выполнить функцию из аякса
PM MAIL ICQ   Вверх
ksnk
Дата 5.6.2010, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



Нужно открыть для себя, что ajax - это никакая не магия, а просто получение чего-то там с сервера. Это самое чего-то там может быть очень разным образом организовано. Один из способов этой организации - формат json.

Если бы searchajax.php выдавал бы такое
Код

{ 
   html: "hello world!",
   callme: ['ftray',78]
}

то на стороне клиента можно было бы написать примерно так
Код

$.get("searchajax.php?nav="+n,
   function(data){
       if (data && data.html)
           document.getElementById("ajaxcontent").innerHTML = data.html;
       if (data && data.callme && data.callme[0] &&  (typeof(window[data.callme[0]])=='function')){
           window[data.callme[0]](data.callme[1]);
       }
   }
  ,'json');


можно более изощренно выводить этот самый json
Код

{ 
   html: "hello world!",
   callme: function(){ftray(78);}
}
 тогда придется меньше писать в обработчике.

Это сообщение отредактировал(а) ksnk - 5.6.2010, 13:41


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
kovalenko123
Дата 5.6.2010, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



Для меня деребаса это пока в диковинку как надоест так мучиться так сразу вернусь к старому и проверенному способу общения между страницами. 
Спасибо за ответ! 

Код

 if (data && data.html)


а это что за data.html какаято jqueryвская штука ? 


PM MAIL ICQ   Вверх
ksnk
Дата 5.6.2010, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



это просто поверка, что data не null и в объекте data присутствует поле html. то самое поле, которое передается json'ом из searchajax.php 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
kovalenko123
Дата 6.6.2010, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



видать я не один с такой проблемой столкнулся

ksnk почему то не получаться прикрутить предложенное Вами решение аякс перестал работать ( может быть есть какой то другой способ вызова функции из полученного html-ля
PM MAIL ICQ   Вверх
ksnk
Дата 6.6.2010, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



firebug есть? Какие ошибки показывает, что сервер выдает?
процесс называется - отладка...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
kovalenko123
Дата 6.6.2010, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



 
Цитата

Если бы searchajax.php выдавал бы такое
Код

{ 
   html: "hello world!",
   callme: ['ftray',78]
}



у меня тут непонятки вместо "hello world!" вставлять весь код который генерирует php ? 

фаирбаг уже скачиваю
PM MAIL ICQ   Вверх
ksnk
Дата 6.6.2010, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



Цитата(kovalenko123 @  6.6.2010,  11:26 Найти цитируемый пост)
 вместо "hello world!" вставлять весь код который генерирует php ? 

да. то, что раньше выдавалось php. Правда придется экранировать символы " и переводы строк заменять на \r\n. Также, если строка очень длинная - придется разбивать ее операциями +


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
kovalenko123
Дата 7.6.2010, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



Спасибо! Пришел второй программист и заставил всё это работать. Если бы я  прочитал какую-нибудь книгу по яваскрипту и не лез бы пихать аякс куда попала, а так же пользовался бы поиском по сайту с доками джиквери, то не доставал бы вас такими глупыми вопросами. Я постараюсь исправиться!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0502 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.