Javascript IE9 X-Frame-Options拒绝上传
我这里有大麻烦了。我得到了一个.NETMVC4应用程序,它使用剑道用户界面作为布局基础,也用于上传。除了运行在Javascript IE9 X-Frame-Options拒绝上传,javascript,asp.net-mvc,kendo-ui,x-frame-options,Javascript,Asp.net Mvc,Kendo Ui,X Frame Options,我这里有大麻烦了。我得到了一个.NETMVC4应用程序,它使用剑道用户界面作为布局基础,也用于上传。除了运行在Windows Server 2008 RC2 x64上的IE9(9.0)之外,上传在所有浏览器上都可以正常工作-我真的不知道这些信息是否重要 当Kendo尝试发送异步调用时,它给出了错误SCRIPT5:Access Denied。根据Telerik在kendo UI Foruns中的一位成员的说法,kendo创建了一个iframe,以便在IE10之前的版本上实现异步上传 我尝试在api
Windows Server 2008 RC2 x64上的IE9(9.0)之外,上传在所有浏览器上都可以正常工作-我真的不知道这些信息是否重要
当Kendo尝试发送异步调用时,它给出了错误SCRIPT5:Access Denied
。根据Telerik在kendo UI Foruns中的一位成员的说法,kendo创建了一个iframe
,以便在IE10之前的版本上实现异步上传
我尝试在api的webconfig上添加标题:
<customHeaders>
<add name="Access-Control-Allow-Credentials" value="true" />
<add name="X-Frame-Options" value="ALLOW-FROM *"/>
</customHeaders>
在api上
所以我可以在IE请求的响应头上看到这个头,所以IE会检索它。我不知道,特别是在IE中,如果它接受*
,它对值的支持程度如何。但是我尝试使用SAMEORIGIN
值作为标题,但它不起作用,我有理由这样做:我的WebApi与前端不在同一个地址上。它们位于不同的服务器和附件上。上载将直接发送到此url上的Api:
http://dev.******.com/webservicepi/api/UserProfile/Upload
前端位于:
http://dev.******.com/portal/
url中禁止的内容对于两个地址都是相同的
因此,我不知道如何实现这一目标。这个错误与我在网上发现的任何错误都不符。任何帮助都将不胜感激!!提前谢谢。我想可能是开放状态
用这个
if(xhr.readyState==1/*OPENED*/)
这是在服务器端打开的,服务器连接已打开,请参阅
如果您使用了来自
公共类值控制器:ApiController
如果类不是公共的,那么您也可能会得到错误。。在CORS之前
你看到博客上的第二条评论了吗
jQuery.support.cors=true代码>您需要更改它,使其显式支持不支持跨域调用,下一条评论说
该标志告诉jQuery,如果浏览器在其XmlHttpRequest实现中本机不支持跨域调用,则使用替代对象。例如,在IE8中,这将导致jQuery从XmlHttpRequest切换到**XDomainRequest**对象(在IE10中,他们以XmlHttpRequest可用于所有请求的方式“修复”了它)。不管客户端上的对象是什么,服务器仍然需要“玩游戏”并返回相应的标题,以便浏览器允许发出此类请求。
是的,Teleric团队成员的帖子在逻辑上是完美的,但每个IE都有自己的方式来处理事件和系统(令人痛苦的是,这就是其中之一..BUG)我还没有找到IE9的BUG列表,但有一个链接,如果相关的话,它只是引用,这很有用,因为我们知道我们需要处理什么...)
如果工作正常,请尝试readyState==2
我想你一定错过了一些小东西
请参阅同一作者的第二篇文章
如果有帮助,请参考此
我不是mvc的普通用户,因此无法正确判断其他方面的情况
我正在寻找其他原因,如果发现相关内容,我将发布
我希望这将有助于……谢谢你,伙计。我同意这可能是一个小细节缺失。我会仔细看看你的帖子,很快告诉你结果。再次感谢你。