Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' he

解决方案:在服务器端的Web.config文件中添加一下内容。

<system.web>
    <!--提供Web服务访问方式-->
    <webServices>
      <protocols>
        <add name="HttpSoap"/>
        <add name="HttpPost"/>
        <add name="HttpGet"/>
        <add name="Documentation"/>
      </protocols>
    </webServices>
 </system.web>
<configuration>
 <system.webServer>  
    <httpProtocol>   
    <customHeaders>   
      <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/>   
      <add name="Access-Control-Allow-Headers" value="x-requested-with,content-type"/>   
      <add name="Access-Control-Allow-Origin" value="*" />   
    </customHeaders>   
  </httpProtocol>   
  <modules>  
    <add name="MyHttpModule" type="WebServiceDemo.MyHttpModule"/>  
  </modules>
  </system.webServer>  
</configuration>

如果报错:
未能加载类型“WebServiceDemo.MyHttpModule”。去掉

 <modules>  
    <add name="MyHttpModule" type="WebServiceDemo.MyHttpModule"/>  
  </modules>

即可。

如果想选定的网站可能跨域访问,修改配置如下:

<add name="Access-Control-Allow-Origin" value="http://domain1.com, http://domain2.com" />  

猜你喜欢

转载自blog.csdn.net/qq_23502409/article/details/78924189