It's used by doing:
- Code: Select all
<script>
function myFunction( data )
{
alert( data.myMessage );
}
</script>
<a href="javascript:void(0);" onClick="JSONGet( 'http://mysite.com/json.php', 'myFunction' )">Load JSON</a>
321 byte version (it could be less than 200 bytes if I used shorter var names):
- Code: Select all
var JSONreq,JSONdata,JSONcall;function JSONHandler(){if(JSONreq.readyState==4){JSONdata=eval("("+JSONreq.responseText+")");eval(JSONcall+"(JSONdata)");}}function JSONGet(addr,callback){JSONcall=callback;JSONreq=new XMLHttpRequest();JSONreq.open("GET",addr,true);JSONreq.onreadystatechange=JSONHandler;JSONreq.send(null);}
Readable Version:
- Code: Select all
var JSONreq, JSONdata, JSONcall;
function JSONHandler()
{
if( JSONreq.readyState == 4 )
{
JSONdata = eval( "(" + JSONreq.responseText + ")" );
eval( JSONcall + "(JSONdata)" );
}
}
function JSONGet( addr, callback )
{
JSONcall = callback;
JSONreq = new XMLHttpRequest();
JSONreq.open( "GET", addr, true );
JSONreq.onreadystatechange = JSONHandler;
JSONreq.send( null );
}

