Anyone attempting to do cross domain AJAX will be familiar with the following message:
XMLHttpRequest cannot load http://domain.com/page.php. Origin http://yoursite.com is not allowed by Access-Control-Allow-Origin.
However if you own the server you’re AJAXing data from, there’s a simple way to make this possible using a callback. Here’s an example:
server.php (On a different domain):
<?php
$response = 'your response here'.
if ( !isset($_GET['callback']) ) $_GET['callback'] = '';
echo $_GET['callback'] . '('.json_encode(array('response'=>$response)).');';
client.php (with JQuery):
$.getJSON('http://yourdomain.com/server.php?callback=?', function(json) {
alert( json.response );
});
That’s all there is to it. Remember the ?callback=? URL segment or it won’t work.