Ajax звонит в субдомен

Мне определили местоположение одного сервера по example.com рабочий апач, служа моим статическим файлам HTML.

Мне также определили местоположение json сервиса по api.example.com под управлением Python с cherrypy.

Пользователь запрашивает example.com, и получите индексную страницу HTML. На той странице я выполняю ajax запрос с jQuery к json сервису. document.domain возвраты example.com

        $.ajax({
        type: 'GET',
        url: 'http://api.example.com/resource/',
        dataType: 'json',
        success: successCallback,
        error: errorHandler
    });

Однако я не вижу орган по ответу для запроса ajax в поджигателе. Это приводит меня полагать, что браузер (FF) не поддерживает это.

Что лучшие методы должны достигнуть этого? Я предпочел бы не использовать любое проксирование на апачском бэкенде для example.com, если это возможно.

9
задан Baversjo 28 June 2010 в 14:18
поделиться

5 ответов

Вы также можете использовать JSONP , добавив callback =? до конца URL-адреса. jQuery уже знает, как обрабатывать запросы такого типа, но для обработки параметра обратного вызова требуются некоторые изменения на стороне сервера.

4
ответ дан 5 December 2019 в 01:42
поделиться

Запрос AJAX поддерживается только в том же домене. Однако вы можете написать http-прокси на предпочитаемом вами языке сценариев и выполнять вызовы этого http-прокси. Вы можете ознакомиться с этим небольшим учебником по прокси AJAX, написанному на php.

0
ответ дан 5 December 2019 в 01:42
поделиться

попробуйте изменить свой домен в субдомене, например

<script type="text/javascript">    
  document.domain = 'example.com';
</script>

, если не работает, измените свой document.domain также на странице своего домена.

0
ответ дан 5 December 2019 в 01:42
поделиться

Используйте document.domain, чтобы сделать домен доменом верхнего уровня вместо поддомена.

document.domain="example.com"

Это подробно описано на MDN.

-1
ответ дан 5 December 2019 в 01:42
поделиться

Насколько я знаю, вы не можете использовать междоменный AJAX.

Почему междоменный Ajax является проблемой безопасности?

Хотя я думаю, вы могли бы обойтись без IFRAME.

Cross Sub Domain Javascript

0
ответ дан 5 December 2019 в 01:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: