Я думаю, вы будете изо всех сил пытаться найти способ сделать это так, чтобы это было полезно для вас. Вы рассматривали JSONP вместо XHR? http://en.wikipedia.org/wiki/JSON
Общий обзор заключается в том, что JSONP использует тот же механизм для запроса внешних скриптов, что и вы, использованный выше. Разница в том, что ваш сервер распознает это и упакует ответ JSON в качестве аргумента метода обратного вызова. Когда ваш сайт получает этот «скрипт», он выполняет его, возвращая данные непосредственно в ваш метод обратного вызова.
Если вы можете использовать такую среду, как jQuery, большая часть клиентской части будет прозрачно обработана для вас. Фактически, он будет использовать практически те же методы, которые вы используете для запросов XHR (AJAX). Проверьте это здесь: http://api.jquery.com/jQuery.getJSON/