Piemēri:

AJAX un JSON

Datu pieprasīšanai AJAX stilā no Karšu tv tiek izmantotas JSON tehnoloģijas. To veic objekts call_back, kuru iespējams arī izmantot savām vajadzībām. JSON tehnoloģijas principi ļauj pieprasīt datus no dažādiem domēniem, nevis kā AJAX, kas ir ierobežots tikai uz vienu domēna, no kura ir atvērta laba. Bet JSON atbildei jābūt saformētai kā JavaScript masīvam vai objektam (sīkāk šeit - www.json.org).

Datu pieprasīšana

  • funkcijas definēšana un pieprasījuma noformēšana
    function MyFn()
    {
    	alert(kijs_admin_iedal.data[0].n);
    }
    call_back.LoadJson("http://maps.kartes.lv/kijs/server_scripts/search.php?q=stabu&kijs=1234", function(){MyFn()});
    
    Pieprasījums sastāv no saites, kur tiks uzģenerēts vēlamais rezultāts, kā arī funkcijas objekta, kas tiks izsaukts, kad pieprasītā saite būs izpildīta.
  • servera skripta atbildes ģenerēšana balstoties uz parametriem
    kijs_admin_iedal={total:2, data:[{id:535,t:5,n:'Jūrmala, Stabu iela'},{id:1864,t:5,n:'Daugavpils, Stabu iela'}]};
    call_back.Call(1218797766369);
    
    Servera atbildei jābūt JavaScript kodam, jo tas automātiski tiek izpildīts pie atgriešanas. Lai tiktu nodrošināts mehānisms, kad tiek izsaukta funkcija MyFn() uz atbildes saņemšanu, call_back objekts pieprasījumam pieliek papildus parametru c, kura vērtību nepieciešams iedrukāt atgriežamajā kodā.
    // sākotnējais pieprasījums
    http://maps.kartes.lv/kijs/server_scripts/search.php?q=stabu&kijs=1234
    
    // call_back.LoadJson() metodes pārveidotais pieprasījums
    http://maps.kartes.lv/kijs/server_scripts/search.php?q=stabu&kijs=1234&c=call_back.Call(1218797766369);
    
    PHP gadījumā servera skripta beigās nepieciešams šāds kods:
    echo " ".$_GET['c']."; ";
    
  • kad pieprasījums ir apstrādāts, tiek izsaukta funkcija MyFn(), kas nu jau brīvi var strādāt ar mainīgo kijs_admin_iedal, kas tika izveidots servera ģenerētajā skriptā.