Tailsweep
Svenska UK

Meny

  • Hem
  • Tailsweep
  • Tailsweep Blog Search
  • Tailsweeps Blogg
  • Google group
  • AddThis Social Bookmark Button

Projekt

  • Mammatus
  • Parhely
  • Haloe
  • AbstractCache
  • Utils

Arkiv

  • juni 2008
  • maj 2008
  • mars 2008
  • februari 2008
  • januari 2008
  • december 2007

Sidor

  • Kontakt

Kategorier

    AJAX
    Backup
    BigTable
    Browser
    cache
    Geo
    haloe
    Hibernate
    Javascript
    Job
    Lucene
    Mail
    Monitor
    Monitoring
    MySQL
    optimization
    regex
    release
    SCM
    Server
    sharding
    Spatial
    Tools
    Uncategorized

Prenumerera

RSS Senaste nytt som RSS

Arkiv för kategorin ‘AJAX’

Cross domain AJAX

söndag, maj 18th, 2008

I fredags öppnades mina ögon en aning när jag förstod att de javascript som man inkluderar faktiskt kan köra kod från det anropande scriptet. Det konstiga är egentligen att jag inte förstått det tidigare eftersom jag skrivit en diger mängd javascript som inkluderar andra javascript. Nåväl det som är coolt och lite nytt för mig är att man på detta sätt kan “plantera” callback funktioner och i dessa callback funktioner passar det ju utmärkt om man för in JSON data som är evaluerad och klar att användas på klienten.

Exempel:

mydomain1.com/client.html:

<script src=”http://mydomain2.com/client.js”></script>

mydomain2.com/client.js:

function myCallback(data)
{

var theDate = data.date;

//handle theDate…
}

var req = ‘http://mydomain2.com/server.js’;
document.write(”<scr”+”ipt></scr”+”ipt>”);

mydomain2.com/server.js:

myCallback({”date”:new Date()});

Självklart ska server.js vara en server-side komponent.

Det som är helt suveränt är att man kan sluta krångla med iframes och document.domain odyl och bara skriva fina webbtjänster a’la REST som sprutar ur sig JSON. Nu återstår egentligen en enda sak för mig och det är att kunna göra exakt ovanstående men synkront. Denna metod är ju asynkron då browsern kommer ladda tredjepartsscriptet efter att detta script är färdigevaluerat. Om nån vet hur man gör synkrona requests cross-domain så får man gärna kommentera här :) Exempel på hur man gör inom en domän: Synchronous javascript

Uppdatering: Läste igenom hur man kan göra samma sak med XhrIframeProxy, vilket är ett ramverk som DOJO bjuder på. Lärde mig också att servern måste sätta content-type till text/javascript för att det anropande scriptet ska autoevaluera det.

Tags: AJAX, cross domain, Javascript
Postad i AJAX, Javascript | 4 Comments »

Copyright © 2007 Tailsweep AB

Tailsweep development Blog is proudly powered by WordPress
Entries (RSS) and Comments (RSS).