”已阻止跨源请求:同源策略禁止读取位于 ***** 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。“
”已阻止跨源请求:同源策略禁止读取位于 ******的远程资源。(原因:CORS 请求失败)。“
在项目中或者练习中经常遇到ajax请求跨域的问题,除了可以用jsonp的请求模式,并且在后台支持回调的方式以外,还可以通过简单的配置webconfig文件或者IIS,解决该问题。
一、通过修改配置文件解决CORS跨域问题
在配置文件中的webserver节点中添加如下代码:
<?xml version="1.0" encoding="utf-8"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
--> <configuration>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*"/>
<add name="Access-Control-Allow-Headers" value="Content-Type"/>
<add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS"/>
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
二、通过IIS配置网站解决CORS问题
其中的value值设置为*则表示运行任何地址的跨域请求,也可以设置指定的请求地址。