【问题标题】:POST Request from Sharepoint 2013 XMLHtpRequest blocked by CORS来自 Sharepoint 2013 XMLHtpRequest 的 POST 请求被 CORS 阻止
【发布时间】:2020-11-04 00:17:23
【问题描述】:

我有一个基本的 C# Web API,我试图从 Sharepoint 站点调用它。目前,它尚未部署,而是在 Visual Studio 之外的 IIS Express 中运行。在我最初的测试中,我只是用几个文本框、一个提交按钮和一个 AJAX 调用创建了一个基本的 HTML 页面,以显示 API 正在工作。但是当我尝试从 Sharepoint 执行此操作时,我收到了 CORS 错误。

Access to XMLHttpRequest at 'http://localhost:63123/api/MKT' from origin 'https://sharepointurl.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

我试过了:

  1. 将以下标头添加到我的 Web API 的 web.config 文件中

    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="Access-Control-Allow-Methods" value="GET,POST,OPTIONS" />
    <add name="Access-Control-Allow-Headers" value="*" />
    
  2. 尝试使用禁用 COR 策略的 Chrome 插件。

但是,错误仍然存​​在。关于我还可以解决什么问题来追踪这个问题有什么想法吗?我觉得这要么是 IIS Express 方面的东西,要么是 Sharepoint。

<script src = "src=" //ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>
<script type = "text/javascript" >

 function PreSaveAction() {

  var foldername = new Object();
  foldername.businessunitname = $("select[title='TestSelection1']").find("option:selected").text();
  foldername.dbatenantname = $("select[title='TestSelection2']").find("option:selected").text();

  $.ajax({
   url: 'http://localhost:63123/api/MKT',
   type: 'POST',
   dataType: 'json',
   contentType: "application/json",
   data: JSON.stringify(foldername),
   success: function(data, textStatus, xhr) {
    console.log(data);
   },
   error: function(xhr, textStatus, errorThrown) {
    console.log('Error in Operation');
   }
  });

 }

</script>

【问题讨论】:

    标签: javascript jquery ajax asp.net-web-api


    【解决方案1】:

    最终对我来说最终的解决方案是在 IIS 中安装 CORS 模块。我还必须确保删除了 web.config 文件中的其他自定义标头,然后为 IIS CORS 模块配置添加条目。从那里我可以走了。也有可能我只需要在我的 POST 请求中传递这些标头,但如果它确实是一个开始的解决方案,我无法让它工作。

    【讨论】:

      猜你喜欢
      • 2021-09-15
      • 2023-01-19
      • 2018-10-18
      • 2020-08-16
      • 2022-11-01
      • 2020-01-15
      • 2020-07-18
      • 2022-01-24
      • 2022-01-14
      相关资源
      最近更新 更多