A naptár után egy másik modul-t is be kellett építenem egy projektembe. Ez a qTip. A készítője szerint úton van a 2.0 verzió, de ez már egy ideje csak várat magára, ezért az 1.0-t használom.
Egész kellemes a használata, és szerencsére a kialakítása is jó, így nem kellett sokat faragni rajta, hogy ne tűnjön nagyon ki az oldal más elemei közül.

Aztán egy nap gondoltam egy nagyot, és a jQuery AJAX hívásait elláttam alapértelmezett értékekkel, mivel mindenhol úgyis json adatokat használok, és kényelmi szempontokból POST-ot.

$.ajaxSetup({
  dataType: 'json',
  type: 'POST'
});

Ekkor történt meg, hogy összeomlott a qTip, már nem volt hajlandó megjeleníteni semmit. (A történethez hozzátartozik, hogy itt most csak dinamikus tartalommal rendelkező tooltip-eket használok.)
A kód átrágása közben kiderült, hogy bár a qTip képes különbséget tenni GET és POST típusú kérések között, két nagy buktatója van:

  • a választ text/html formában várja, valamint
  • a jQuery $.get és $.post metódusait használja.

Ez mindaddig rendben is van, amíg az ajaxSetup nem határoz meg más értékeket, mert a fent említett metódusok a $.ajax metódus rövidített változatai ugyan, de átveszik az alapértelmezett értékeket.
Mivel a qTip kódja azonban nem az általam beállított json típussal dolgozik, ez elegendő indok arra, hogy ne jelenítsen meg semmit.

A végkövetkeztetésem annyi, hogy ha harmadik fél által készített kódot kell használni, akkor érdemes kétszer is meggondolni :]
Illetve, ha valaki modul-írásra adja a fejét (én is csináltam már, nem a levegőbe beszélek), akkor készüljön fel arra, hogy semmi nem garantálja a tiszta, out-of-the-box alapbeállításokkal rendelkező környezetet ott, ahol a modulnak futnia kell.