Вы не можете обойти междоменное происхождение с помощью XHR (ну, только в Firefox 3.5 с разрешения пользователя, не очень хорошее решение). Технически, переход с порта 80 (http) на 443 (https) нарушает эту политику (должен быть тот же домен и порт). Это пример самой спецификации сайтов здесь - http://www.w3.org/Security/wiki/Same_Origin_Policy#General_Principles.
Вы смотрели в JSONP (http://en.wikipedia.org/wiki/JSON#JSONP) или CSSHttpRequests (http://nb.io/hacks/csshttprequest)?
)
JSONP - это способ добавить тег <script>
на страницу с предварительно определенным глобальным обратным вызовом для разных доменов (так как вы можете поместить <script>
s src
в любое место в Интернете). Пример:
<script>
function globalCallback (a) { /* do stuff with a */ }
И затем вы вставляете тег <script>
в другой домен, например:
var jsonp = document.createElement('script');
json.setAttribute('src','http://path.to/my/script');
document.body.appendChild(jsonp);
</script>
А в источнике внешнего скрипта вы должны вызвать функцию globalCallback
с данными, которые вы хотите передать ей, например:
globalCallback({"big":{"phat":"object"}});
И вы получите нужные данные после выполнения этого скрипта!
CSSHttpRequests - это скорее хак, поэтому у меня никогда не было необходимости его использовать, хотя не стесняйтесь попробовать, если вам не нравится JSONP: :).