Автор Тема: jQuery, ajax, странни работи :)  (Прочетена 2843 пъти)

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
jQuery, ajax, странни работи :)
« -: Mar 25, 2011, 21:56 »
Абе мине не мине време и се налага да се оплаквам пак тук с разни уеб-драми :)

Та да си изплача мъките...това jQuery нещо почва много да ме дразни. За да спестя излишните обяснения, имам един много специален httpd сървър с едни много специални servlet-и, писани на C и връщащи разни странни JSON responses. Та идеята беше да напиша едно тестово PoC client-side уеб приложение, което да е изцяло ajax базирано, да прави разни ажакс заявки накъм специалното сървърче и да дращи разни специални глупости там по екрана. Съответно понеже jQuery е най-лесният и уж браузърно-независим вариант и имам известен опит, спрях се на него. Та направих си по един клас за всеки сървърен servlet, който съответно има методи, wrap-ващи въпросните ajax заявки, които servlet-а очаква. Съответните методи вземат като параметър покрай другото и две функции, които се предават като callback функции за успех/грешка на $.ajax. Апропо то било много лесно да се работи с JSON в джаваскрипт бе ехех, като се сетя каква мъка е да се парсва на C с разни странни библиотеки ехех :)

Дотук много добре. Първоначално това работеше само с Firefox, защото се оказа че съм сетнал crossDomain property-то на true, а това работи само с jsonp (странно обаче как на FF не му пука, докато на всички останали браузъри без Chrome, определено им пукаше). Това го оправих...но продължих да имам проблем с Опера. При нея, success callback-а ВИНАГИ СЕ ВИКА ВЕДНАГА СЛЕД КАТО ЗАЯВКАТА СЕ ПРАТИ И ПРЕДИ ДА СЕ ВЪРНЕ КАКЪВТО И ДА БИЛО ОТГОВОР!!! Рових, търсих, само някакви апокрифни дивотии, които нямаха нищо общо с проблема. Някой виждал ли е такова поведение досега?

Друго, което сигурно ще се стори смешно на всеки уеб-девелопър, ама мене определено ме дразни и се чудя що е така. Понеже реших малко да го разкрася, позиционирайки разни div-ове насам-натам, абе защо position: fixed не работи в IE? Поне не и в IE6/IE7. Някой има ли идея как да се постигне (лесно) подобен ефект и защо е тази аномалия въобще?

Активен

"Knowledge is power" - France is Bacon

BULFON

  • Administrator
  • Напреднали
  • *****
  • Публикации: 478
  • Distribution: Fedora
  • Window Manager: Gnome
    • Профил
Re: jQuery, ajax, странни работи :)
« Отговор #1 -: Mar 25, 2011, 22:32 »
Отговор на вторият ти въпрос - ще го постигнеш с малко код:
http://stackoverflow.com/questions/257250/what-is-the-simplest-jquery-way-to-have-a-positionfixed-always-at-top-div
Понеже не ми се пише тестов код само се поразтърсих малко и намерих тази страничка:
http://jaubourg.net/?tag=jsonp
Разбира се това не ти решава проблема как да работи това с Опера.
Принципно аз си "доставям" интерфейса от сървъра на който ми се изпълнява приложението. Опитвам се да се съобразявам с cross domain политиките.
Активен

фонокартен телефонен апарат

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: jQuery, ajax, странни работи :)
« Отговор #2 -: Mar 25, 2011, 23:47 »
Това решение трябва да работи, обаче ми се вижда прекалено брутално да преизчислявам тези неща при скролване ехех. Но очевидно няма как да стане по друг начин явно...mamma mia :)

Що се отнася до cross-domain ограниченията, това е другата болна драма - хората, които искат крайното решение са твърдо решени, че всичкото статично съдържание трябва да се намира не на хоста, на който е уеб сървъра, а на локална файлова система на клиентския хост (не е смешно, колкото и идиотски да звучи). Добрата страна е че ще се ползва само и единствено един браузър (достатъчно крив за сметка на това), така че това за операта и ИЕ са ми странични наблюдения и мрънкания, които пряко не ме касаят, поне за момента. Обаче това с cross-domain рестрикциите...засега май ще се работи в насока CORS, като се очаква въпросният браузър да го подържа. Като още не съм задълбал защо и как това сработва, хех. Другите варианти като разни прокси изпълнения или JSONP са невъзможни за жалост.
« Последна редакция: Mar 25, 2011, 23:51 от gat3way »
Активен

"Knowledge is power" - France is Bacon

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
curl AJAX
Web development
edmon 6 3314 Последна публикация Jun 14, 2010, 15:01
от BULFON
jQuery, асинхронна ajax заявка, abort()
Web development
gat3way 20 6357 Последна публикация Jul 13, 2010, 15:52
от VladSun
малко помощ с jquery
Web development
madmad 1 1839 Последна публикация Dec 18, 2010, 22:48
от neter
jquery datepicker да се зареди от трети файл
Web development
nov_chovek 6 3107 Последна публикация Jan 22, 2011, 21:18
от nov_chovek
Тест за jQuery & Ajax. Защо фейлва на Хром?
Web development
clovenhoof 10 4253 Последна публикация Jun 05, 2013, 18:19
от clovenhoof