我在这里遇到了大麻烦。我有一个使用Kendo UI作为布局基础和上传的.NET MVC 4应用程序。上传在所有浏览器上都可以正常工作,除了在运行在Windows Server 2008 RC2 x64上的IE9(9.0)上 - 我不知道这些信息是否重要。
当Kendo尝试发送异步调用时,它会给我报错“SCRIPT5:Access Denied”。根据Telerik成员在kendo UI论坛中的这篇帖子,Kendo创建一个iframe以使在IE10之前的版本上实现异步上传。
我尝试在api的webconfig中添加了一个头:
其他的CORS标头是在像这个API上的CORS Handler类中隐式设置的。此链接。因此,我可以在IE请求的响应标头中看到此标头,所以IE确实检索了它。我不知道支持值
当Kendo尝试发送异步调用时,它会给我报错“SCRIPT5:Access Denied”。根据Telerik成员在kendo UI论坛中的这篇帖子,Kendo创建一个iframe以使在IE10之前的版本上实现异步上传。
我尝试在api的webconfig中添加了一个头:
<customHeaders>
<add name="Access-Control-Allow-Credentials" value="true" />
<add name="X-Frame-Options" value="ALLOW-FROM *"/>
</customHeaders>
其他的CORS标头是在像这个API上的CORS Handler类中隐式设置的。此链接。因此,我可以在IE请求的响应标头中看到此标头,所以IE确实检索了它。我不知道支持值
ALLOW-FROM
的支持情况,特别是在IE中,也不知道它是否接受*
。但我尝试使用SAMEORIGIN
值来设置该标头,但它不起作用,原因是我的WebApi与前端不在同一地址上。它们位于不同的服务器和地址。上传直接发送到此URL上的API:http://dev.******.com/webserviceapi/api/UserProfile/Upload。而前端在http://dev.******.com/portal/上。因此,我不知道如何实现这一点。此错误与我在网上找到的任何内容都不符合。非常感谢您的帮助!提前致谢。