我有一个使用 jquery 将 POST 请求发送到我自己的服务器(Java servlet)的 javascript 方法。响应是一个 HTML 页面,其中包含以下标记:
<meta http-equiv="X-FRAME-Options" content="SameOrigin">
该页面然后显示在现有页面的 iframe 中。jquery方法是这样的:
function ajaxCall(urlString, params){
$.ajax({
type: "POST",
dataType:'html',
url: urlString ,
data: params,
success: function(msg){
$("#A1B2C3D4E5").contents().find('html').html(msg);
},
failure: function(msg) {
$("#A1B2C3D4E5").contents().find('html').html(msg);
}
});
}
具有 id A1B2C3D4E5 的 HTML 组件是 iframe。问题是返回的html页面没有显示在Chrome的iframe中。它给出的错误信息是:
Refused to display 'about:blank' in a frame because it set 'X-Frame-Options' to 'SameOrigin'. jquery-1.7.2.min.js:32
Blocked a frame with origin "https://localhost:8443" from accessing a frame with origin "null". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "data". Protocols must match.
它在 Firefox 上运行良好,但在 Chrome 上却不行。
通过删除以下的元部分:
<meta http-equiv="X-FRAME-Options" content="SameOrigin">
它在 Chrome 中也可以正常工作。但由于某种原因,我无法删除此标签。
我的问题是为什么会发生这种情况?无论如何要修复它并仍然保留元标记?
非常感谢。