El atributo de la caja de arena de IFRAME está bloqueando las llamadas AJAX
Tengo una solicitud (http://localhost/MyApp
), donde algunas de las partes se representan a través de IFRAMES. Estas partes iframed no tienen ningún negocio con el resto del DOM de la aplicación, así que apliqué elsandbox
atributo.
El IFRAME se declara así:
<iframe src="/MyApp/en/html/action?id=1" sandbox="allow-forms allow-scripts" seamless="seamless"></iframe>
La página de iframed tiene un botón que hace una llamada AJAX a la misma aplicación web, pero en lugar de unHTTP GET
, el navegador emite unHTTP OPTIONS
que aparece comoCancelled
, y ocurre un error:
XMLHttpRequest cannot load http://localhost/MyApp/en/data/action?id=1. Cannot make any requests from null.
Ajax State 0 Error: HTTP 0
Si agrego elallow-same-origin
alsandbox
atributo, funciona.En cuanto aYo leo aqui, se suponía que no debía afectar a las llamadas AJAX.
¿Por qué está pasando esto? Esta considerando el camino/MyApp/en/html/action
¿Como origen de todo el IFRAME y bloqueando la solicitud a niveles anteriores?
Aclamaciones.