(精华)2020年8月17日 WebApi解决跨域问题

举报
愚公搬代码 发表于 2021/10/19 01:08:27 2021/10/19
【摘要】 negut引用:MIcrosoft.AspNet.WebApi.Cors添加配置如下:webapi网站就可以解决跨域问题 全局配置 public static class WebApiConfig {...
  1. negut引用:MIcrosoft.AspNet.WebApi.Cors
  2. 添加配置如下:webapi网站就可以解决跨域问题

全局配置

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.EnableCors(new EnableCorsAttribute("*", "*", "*"));//全部都允许,
    }
}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

方法配置

[EnableCors(origins: "http://localhost:9099/", headers: "*", methods: "GET,POST,PUT,DELETE")]
public Users GetUserByID()
{

}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

行为特性配置跨域

public class CustomActionFilterAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(HttpActionContext actionContext)
    {
    }

    public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
    {
        actionExecutedContext.Response.Headers.Add("Access-Control-Allow-Origin", "*");
    }
}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

注意点
jq跨域兼容处理

//microsoft.aspnet.webapi.cors
jQuery.support.cors = true;
var location = "http://localhost:8088";
$("#btnGetCors1").on("click", function () {
    $.ajax({ url: location + "/api/users/GetUserByID", type: "get", data: { "id": 1 }, success: function (data) { alert(data); }, datatype: "json" });
});


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

文章来源: codeboy.blog.csdn.net,作者:愚公搬代码,版权归原作者所有,如需转载,请联系作者。

原文链接:codeboy.blog.csdn.net/article/details/108054754

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。