小编典典

访问iframe文档对象时出现“访问被拒绝”错误

ajax

为了在具有许多参数的表单中发布AJAX表单,我使用一种解决方案:创建一个iframe,通过POST将表单发布到其中,然后访问iframe的内容。具体来说,我正在访问这样的内容:

$("some_iframe_id").get(0).contentWindow.document

我对其进行了测试,并且效果良好。

在某些页面上,我开始出现“访问被拒绝”错误。据我所知,如果iframe是从同一域提供的,则不应发生这种情况。

我很确定它以前可以正常工作。有人知道吗?

如果我不够清楚:我要发布到 同一域 。因此,这不是跨域请求。我仅在IE上进行测试。

PS我不能使用简单的ajax POST查询(不要问…)


阅读 914

收藏
2020-07-26

共1个答案

小编典典

自己解决!

问题是,即使发送了正确的响应(已通过Fiddler验证),它也使用HTTP 500错误代码(而不是200)发送。

事实证明,如果发送的响应带有错误代码,则IE会用iframe从磁盘(res://ieframe.dll/http_500.htm)加载的错误消息替换的内容,这会导致跨域访问被拒绝错误。

2020-07-26