对CORS阻止的XMLHttpRequest的访问

时间:2019-08-08 11:07:51

标签: javascript asp.net http sharepoint cors

我在SP站点中有一个通过javascript的Web服务,该服务通过单击URL将日志插入到数据库中

但是,在控制台模式下,显示以下错误。日志也未插入。

  

在以下位置访问XMLHttpRequest   'http://test.com:8888/MyWebServices.asmx/InsertAuditLog'   来自来源“ http://test.com”的信息已被CORS阻止   策略:对预检请求的响应未通过访问控制   检查:标题上没有'Access-Control-Allow-Origin'标头   请求的资源。

在网上搜索后,我发现可能需要在web.config文件中包括一些配置。

因此,我转到IIS,并将以下内容添加到我的配置文件中,并进行了iisreset。但是错误仍然与初始显示相同。

下面是我添加到web.config文件中的部分。

<configuration>
<httpProtocol>
  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="http://test.com/" />
    <add name="Access-Control-Allow-Headers" value="origin, accept, content-Type" />
    <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
    <add name="Access-Control-Allow-Credentials" value="true" />
  </customHeaders> 
</httpProtocol>
</configuration>

我可以知道我在哪里做错了吗?还是我需要将上面的行插入其中的特定标签?例如system.web或system.webServer

1 个答案:

答案 0 :(得分:2)

您应该尝试

SELECT
    entity_id,
    MAX(CASE WHEN type = 'created'   THEN occurred_at END) AS created_at,
    MAX(CASE WHEN type = 'completed' THEN occurred_at END) AS completed_at,
    MAX(CASE WHEN type = 'failed'    THEN occurred_at END) AS failed_at
FROM events
GROUP BY
    entity_id
ORDER BY
    entity_id;