У меня есть приложение (http://localhost/MyApp
), где некоторые части отображаются через IFRAMES. Эти iframed части не имеют отношения к остальной части приложения DOM, поэтому я применил атрибут sandbox
.
IFRAME объявляется следующим образом:
<iframe src="/MyApp/en/html/action?id=1" sandbox="allow-forms allow-scripts" seamless="seamless"></iframe>
На iframed-странице есть кнопка, которая вызывает вызов AJAX для одного и того же веб-приложения, но вместо того, чтобы HTTP GET
, браузер выдает HTTP OPTIONS
, который отображается как Cancelled
, и возникает ошибка:
XMLHttpRequest cannot load http://localhost/MyApp/en/data/action?id=1. Cannot make any requests from null.
Ajax State 0 Error: HTTP 0
Если я добавлю атрибут allow-same-origin
в атрибут sandbox
, он работает. Что касается я читал здесь, это не предполагалось для воздействия на вызовы AJAX.
Почему это происходит? Рассматривает ли путь /MyApp/en/html/action
как начало всей IFRAME и блокирует запрос на предыдущие уровни?
Приветствия.