【问题标题】:IE 11 doesn't send CORS 'POST' request to the web applicationIE 11 不会向 Web 应用程序发送 CORS 'POST' 请求
【发布时间】:2016-09-28 13:47:43
【问题描述】:

在我的 DEV 机器中,我有一个 Web 应用程序(SharePoint 站点)和一个简单的 ASP.NET MVC 应用程序,它们都位于同一个 IIS 实例中。他们有不同的域(但都使用 SSL):

SharePoint 站点的主页有一个 ScriptEditor Web 部件,它只是在页面上“注入”JavaScript 代码来查询 MVC 应用程序:

jQuery.support.cors = true;

$.ajax({
    crossDomain: true,
    url: requestUrl,
    type: "POST",
    data: JSON.stringify(payload),
    dataType: 'json',
    headers: {
        "accept": "application/json;charset=utf-8",
        "Content-Type": "application/json;charset=utf-8"
    },
    success: function (data) {
 ...;
    },
    error: function (err) {
        ...;
    }
});

问题是:当我在 IE 11 中运行此代码时,当 MVC 应用程序在 IIS Express 中运行时,它会在 MVC 应用程序中遇到断点(即请求实际获取应用程序)。但是,当 MVC 应用程序在“真实”IIS 中运行时,IE 11 似乎会阻止请求,甚至不会将其发送到应用程序池。我在后一种情况下看到的错误是

XMLHttpRequest: Network Error 0x80070005, Access is denied.

可能是什么原因?我想,我尝试了一切,从添加 web.config 元素,如

<httpProtocol>
  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, PUT, DELETE" />
    <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
  </customHeaders>
</httpProtocol>

在 Startup.Configuration() 方法中启用 CORS,例如

public class Startup

{ 私有静态只读 EsClosureConfiguration EsClosureConfigSection = WebConfigurationManager.GetSection(Constants.ESClosureConfigSectionName) as EsClosureConfiguration;

public void Configuration(IAppBuilder app)
{
    //// ConfigureAuth(app);
    app.UseCors(CorsOptions.AllowAll);

并在 IE 中添加不同区域的站点的 URL。没有什么帮助。也许我在挖掘错误的方向?

【问题讨论】:

  • 看起来像 CORS 问题,只需从与您用于从 ajax 代码发送数据的 URL(域)相同的域运行 JS 代码,不要从独立的 HTML 文件运行 JS 脚本一些 xyz 目录!

标签: javascript asp.net-mvc internet-explorer cors


【解决方案1】:

此问题与在 JavaScript 跨 Web 应用程序中使用 REST API 时的身份验证有关。 请参考此链接,它将帮助您解决此问题。 https://blog.kenaro.com/2014/03/18/cross-site-scripting-with-sharepoint-2013-rest-calls/ 另外请检查您的 web.config 文件是否有此标记“访问控制请求方法”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 2016-05-12
    • 1970-01-01
    • 2017-06-19
    • 2015-09-25
    • 2014-01-18
    • 1970-01-01
    相关资源
    最近更新 更多