我正在构建一个可以发布的应用程序,但是我在ajax调用中遇到了跨域脚本问题。
我使用的是IIS7.5,并且安装了以下应用程序
营销应用程序- 'www.mydomain.com‘-用作营销网站和注册一个新的业务。我有一个规则,强制任何非www。成为www
业务应用程序- 'https://newbusiness.mydomain.com‘-用于访问他们已订阅的服务
接口应用- 'https://newbusiness.mydomain.com/api/.......‘-用于业务应用进行crud操作
API应用是在业务应用下运行的应用。包含许多受保护的方法和一些匿名方法。
使用jquery时,我的营销应用程序在尝试调用api应用程序时遇到了问题。目前,如果我想从我的营销网站调用api,我正在做类似'https://api.mydomain.com/api/whatevermethod‘的事情,因为它是跨域的,它失败了。
有没有办法将'https://api.mydomain.com/api/whatevermethod‘映射为'https://mydomain.com/api/whatevermethod’,因为这样可以绕过跨域的问题。
发布于 2012-11-15 21:50:51
您需要允许IIS中的跨域调用。您可以通过设置Access-Control-Allow-Origin和Access-Control-Allow-Headers来执行此操作
例如:
在根web.config中
<system.webserver>
<httpprotocol>
<customheaders>
<add name="access-control-allow-origin" value="*" />
<add name="access-control-allow-headers" value="content-type" />
</customheaders>
</httpprotocol>
</system.webserver>摘自here
发布于 2018-07-22 09:37:49
以防您也从Amila的回答中得到错误500,下面是整个web.config文件内容应该是什么样子
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="access-control-allow-origin" value="*" />
<add name="access-control-allow-headers" value="content-type" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>https://stackoverflow.com/questions/10989575
复制相似问题