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