Архив рубрики ‘AJAX’ Category

Jan
16
jQuery, $.getJson, $.ajax и все, все, все…
1 балл2 балла3 балла4 балла5 баллов (стать первым, кто оценил!)
Loading ... Loading ...

jQueryДо этого я работал только с Prototype, особо jQuery не пользовался, хотя и использовал пару вполне успешно.

В проекте, в котором я сейчас работаю, все построено на Zend Framework + JQuery. Соответственно приходиться сталкиваться теперь довольно часто с jQuery.

Вчера мне понадобилась там одна фишка: нужно было получить данные через Ajax запрос и дальше сделать с ними некоторые манипуляции (обрезание строки и т.д, не суть важно) и вывести клиенту.

Недолго думая, была сделана такая конструкция:


$.getJSON(’<?=$this->newsLetterUrl(’content-start’)?>/’,
 { load_eds_data: 1, idpage: $(’#eds_ref-key’).val(), ajax: ’true’},
 function(data) {
 subTitle = ’Dates: ’+data.date_text + ’ Venue: ’ + data.xvenue;
 });

Удивление наступило позже, когда я понял, что переменная subTitle не видна после этого и не доступна.

Полез в гугл, начал искать, что ж это за фигня получается, что нельзя в переменную записать данные после ajax запроса.

Оказалось, что проблема … в асинхронности запроса $.getJson и для того, чтобы получить нужное мне, конструкцию надо заменить на такую:


$.ajax({
 async: false,
 data: { load_eds_data: 1, idpage: $(’#eds_ref-key’).val(), ajax: ’true’},
 dataType : «json»,
 url: ’newsLetterUrl(’content-start’)?>/’,
 success: function(data) {
 subTitle = ’Dates: ’+data.date_text + ’ Venue: ’ + data.xvenue;
 }
});

указав таким образом, что нам нужен неасинхронный запрос. Теперь переменная subTitle видна поза данной конструкцией! И ее можно использовать дальше, как угодно.

Самое интересное, что в prototype таких проблем у меня вообще не возникало. Видимо связано с особенностями реализации библиотеки.

Возможно кому-то пригодится, когда столкнетесь с подобной задачей.

мая
02
Решил внести свою лепту в развитие опенсорц
1 балл2 балла3 балла4 балла5 баллов (4 голоса, средний балл: 4.25 из 5)
Loading ... Loading ...

ОпенсорцДавно присматривал для себя проектик под веб, который бы понравился и в котором хотелось бы поучаствовать.

А вокруг только кучи гавнокода некачественного кода наблюдались.

И как-то вопрос решился сам собой. Для одного моего проекта понадобился чат и я решил поискать какое-то решение для веб-гейта в IRC (мне оно уже стало родное).

Кстати я уже ранее писал об одной доработке для этого проекта, в результате чего мне пришлось «скрестить» Prototype и JQuery.

Я начал «гуглить» и попал вот сюда.

Цитирую:

WebChat 2.0 — ajax & comet web based frontend, php daemon backend

Прямо сразу на душе стало приятно и весело — я нашел то, что искал!

Я написал письмо разработчику (осенью прошлого года) с вопросом о получении коммерческой лицензии, но так и не получил ответа, в результате чего я решил, что автор проект забросил. Тогда я решил продолжить разработку проекта самостоятельно и вылить его в отдельный опенсорц проект, который бы я развивал (уж очень мне понравились код + идея самого чата).

В итоге я исправил почти все баги, что были в текущей версии проекта + дописал много своего (приватные сообщения, подсветки, выпадающие меню при клике на нике — эмуляция того, как это сделано в mIRC и кучу всяких остальных вкусностей).

А вот буквально вчера вечером получил письмо от разработчика. Оказывается что он проект не забросил (хотя более полгода ничего не писал и не обновлял проект), а был занят длительное время разработкой проекта «Open Social» для Google.

В итоге общения мы пришли к общему выводу — продолжать совместную разработку данного проекта в свободное время под егидой Open Source.

Публичное демо проекта до моих усовершенствований: http://www.chabotc.nl:2001/chat.html

После моих:
http://chat.kpi.cc/ (на украинском внутри).

Надеюсь, что на днях или на неделе «соединим» мою версию с официальной, составим план и продолжим разработку проекта.

Если кто-то пользуется или будет пользоваться данным проектом — можете смело теперь писать фидбеки прямо мне!

PS. С майскими праздниками вас, мои читатели!

Mar
06
Как “подружить” Prototype и jQuery в одном проекте
1 балл2 балла3 балла4 балла5 баллов (13 голоса, средний балл: 3.92 из 5)
Loading ... Loading ...

jQuery и Prototype вместеДавно не писал ничего на тему программирования и вообще о вебе (все-таки блог не только о фрилансе).

Так вот недавно в одном из моих проектов возникла надобность использовать одно из готовых решений – плагин контекстного меню (того, что выпадает по клику правой клавишей мышки) в jQuery.

К сожалению (или к счастью) весь проект был построен на Prototype, а выдумывать велосипед заново желания не было (тоесть писать на Prototype то, что уже есть готовым в jQuery), поэтому я начал гуглить по поводу того, как “скрестить бобра и носорога”.

В итоге решение было найдено (сейчас даже уже не помню где именно, важен сам факт) в одном из англоязычных блогов (жаль ссылка утеряна во времени…) и состояло оно в том, чтобы включить jQuery в режим “безконфликтности” (да, да,  разработчики побеспокоились о том, чтобы другие библиотеки могли спокойно работать совместно с их детищем):

<script type="text/javascript"> $j = jQuery.noConflict();</script>

И далее везде для Prototype применяется и дальше знак $, а для jQuery – $j. После этого мне достаточно было в файле плагина все $ заменить на $j, подключить jQuery к проекту – и все заработало как мне того и хотелось.

Возможно мой опыт будет кому-то полезен в их проектах.

Sep
11
официальный запуск ajaxWindows
1 балл2 балла3 балла4 балла5 баллов (3 голоса, средний балл: 5 из 5)
Loading ... Loading ...

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

P.S. Самому пока попробовать систему в действии не получилось – на сайте выдается:

Thank you for visiting ajaxwindows.com

We are currently experiencing massive amounts of user registrations and traffic.
Please check back with us in an hour.

Thanks for your interest, The Ajax13 Team

Но как только удасться попробовать – отпишусь в комментариях. Возможно кому-то из моих читателей получится пробиться туда – не стесняйтесь – пишите впечатления от использования.