更改Access-Control-Allow-Origin以允许Jquery load()工作

时间:2013-08-09 14:32:59

标签: jquery ajax cors

状况:

  • 运行Web服务器的内部网站。
  • SharePoint运行其他内部Web服务器。
  • 全部内部,全部位于同一company.com内部域(不同的子域,因为它们可通过SharePoint.company.cominternalWeb.company.com访问)

问题:

  • XMLHttpRequest无法加载http://SharePoint.company.com. Access-Control-Allow-Origin不允许原始http://internalWeb.company.com

我想要什么:

  • 在我的网站上运行ajax和JQuery load()函数 Web服务器以调用SharePoint服务器上的URL。

注意:

  • 这似乎应该可以将SharePoint服务器设置为 通过设置来允许跨源请求 Access-Control-Allow-Origin,它是 ALL INTERNAL ,我可以随意更改web.configs或IIS设置
  • 这可能吗?如果是这样,我在哪里设置它。我已经阅读了很多这方面的内容 似乎无法得到明确的答案。

代码:(在internalWeb.company.com上运行的网页上)

$("#details").load("SharePoint.company.com/someDetails.html");

谢谢!

1 个答案:

答案 0 :(得分:9)

快速修复可能是在SharePoint web.config中设置自定义标头:

http://www.iis.net/configreference/system.webserver/httpprotocol/customheaders

<customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>

或者仅针对该域名,请尝试

<customHeaders>
    <add name="Access-Control-Allow-Origin" value="http://internalWeb.company.com" />
</customHeaders>