负载由X框选项否认:“http://test.test.net/Feedback/Create?ap

2019-10-19 04:37发布

我正在那的托管我公司的网络上,并从网络中唯一访问的网站上,所以我有跨域请求无关。

不管怎么说,这个特定的网站我的工作我加在导航栏“提供反馈”链接。 这“提供反馈”链接打开一个jQuery模态窗口,这里面的对话框是一个iframe来自其服务器是一个比这个特定的网站托管在,因此我得到了错误的不同网址加载。

MVC4工作得很好,没有任何问题,像这种情况,只有当我升级到MVC5。 有一些关于MVC5防止被加载到框架中的内容有所不同。

我读过有关设置X框选项“ALLOWFROM” -但这是否意味着我需要设置在加载应用程序URL iframe ,或调用应用程序(即在导航栏这个链接的网站) ? 我还会补充说,这个问题只出现了,当我升级了的应该被装载在应用程序iframe从MVC4 /的WebAPI到MVC5 /的WebAPI版本2.我不得不使用MVC以前的版本与此没有任何问题。 我怎样才能解决这个问题?

萤火虫的放大版本:

下面是一个包含“提供反馈”的代码的应用程序我的客户端代码:

$(document).ready(function () {
            $('body').append("<div id='dialog-modal'><iframe width='900' height='420' src='http://blah.blah.net/ApplicationName/AppFeedback/Create?appId=TestApp'></iframe></div>");
            $("#dialog-modal").dialog({
                buttons: {
                    "Close": function () {
                        $(this).dialog("close");
                    }
                },
                title: "Provide Feedback!",
                autoOpen: false,
                height: 560,
                width: 940,
                modal: true,
                overlay: {
                    backgroundColor: "#000000",
                    opacity: 0.75
                },
                resizable: true,
                open: function () {
                    $('.ui-widget-overlay').bind('click', function () {
                        $('#dialog-modal').dialog('close');
                    })
                }
            });

            $("a.feedback").live("click", function (event) {
                event.preventDefault();
                $("#dialog-modal").dialog("open");
            });

Answer 1:

在把这个Global.asax为我工作:

protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
{
    HttpContext.Current.Response.Headers.Remove("X-Frame-Options");
}

显然有在MVC5,这是我使用的是什么MVC4和MVC5,它在MVC4工作,但不是之间的差异。



Answer 2:

您应该设置您所包括iframe中应用此响应头。



文章来源: Load denied by X-Frame-Options: “http://test.test.net/Feedback/Create?appId=TestApp” does not permit cross-origin framing using MVC5