Я думал, что запросы AJAX между поддоменами были разрешены, но эта ошибка Chrome, кажется, указывает на иное - PullRequest
16 голосов
/ 26 октября 2010

Я знаю, что междоменные запросы запрещены из соображений безопасности, но у меня сложилось впечатление, что для сопоставления нужен только домен верхнего уровня, что разные субдомены были в порядке. Тем не менее, я получаю эту ошибку от Chrome 7:

"Небезопасная попытка JavaScript получить доступ к фрейму с URL http://foo.somedomain.com/dir/page.html из фрейма с URL http://bar.somedomain.com/otherdir/otherpage.html. Домены, протоколы и порты должны совпадать"

Какие именно правила для этих типов запросов?

Ответы [ 2 ]

19 голосов
/ 26 октября 2010

Короче говоря, правила той же политики происхождения:

  • тот же хост
  • тот же порт
  • тот же протокол

В вашем примере вы нарушаете правило хоста, так как другой поддомен может указывать на другой хост / IP, чем другой, даже если домен второго уровня такой же.

Если у вас нет другой возможности, выможет попытаться использовать JSONP в вашем ajax-запросе;здесь нет СОП.

Ссылка

5 голосов
/ 26 октября 2010

Запрещены любые кросс-доменные запросы в любом браузере.Но есть несколько способов, таких как CORS , использование iframes, установка document.domain для его работы (хотя и с некоторыми ограничениями).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...