Asp.NET MVC+WebAPI跨域调用

2018-06-22 06:04:05来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

使用jQuery调用WebApi有时会遇到跨域的问题,今天介绍一种可以简单解决跨域问题的方法。

当我们跨域请求WebAPI的时候会提示以下信息:

XMLHttpRequest cannot load http://localhost:9641/api/news/GetData. No 'Access-Control-Allow-Origin' header is present on the requested resource.

Origin 'http://localhost:9530' is therefore not allowed access.

 

 

像这种情况,只需要在WEBAPI项目的Web.Config配置文件中设置

Access-Control-Allow-Origin  即可

 <!--跨域配置--> 
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Max-Age" value="30"/>
        <add name="Access-Control-Allow-Methods" value="GET,POST,OPTIONS"/>
        <add name="Access-Control-Allow-Headers" value="Content-Type, Accept" />
      </customHeaders>
    </httpProtocol>

  这段配置文件需要加在WebAPI的Web.config 中<system.webServer> 节点下

 

注:如遇到Post请求时,提示404,排除URL不符合路由规则外,还需注意是否有加  [FromBody] ,且[FromBody]只能修饰一个参数,如果需要传多个参数时,需要封装成对象。

这是我写的小例子。:-D

http://download.csdn.net/detail/u010822637/9634076

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:【开源】基于EF6+MVC5+API2+Easyui1.4.5+Easyui管理模板开发的管

下一篇:MVC的验证(模型注解和非侵入式脚本的结合使用)