博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
web api 解决Ajax请求跨域问题
阅读量:4355 次
发布时间:2019-06-07

本文共 1522 字,大约阅读时间需要 5 分钟。

前端ajax请求接口时,经常出现跨域问题,当然了解决方法有很多种,比如:

我本人恰好前后端都会一点,所以直接在接口端处理。 我用的是mvc 开发的接口 可以在web API 的根目录添加一个属性就OK了。 代码如下:

public class CrossSiteAttribute: System.Web.Http.Filters.ActionFilterAttribute

{

private string originHeaderdefault = "http://www.abc.com";        //默认的构造函数允许  "http://www.abc.com"域名下调用接口    public CrossSiteAttribute() {         }    public CrossSiteAttribute(string originHeader )    {        if (!string.IsNullOrEmpty(originHeader)) {            originHeaderdefault = originHeader;        }    }         private const string Origin = "Origin";     ///      /// Access-Control-Allow-Origin是HTML5中定义的一种服务器端返回Response header,用来解决资源(比如字体)的跨域权限问题。     ///      private const string AccessControlAllowOrigin = "Access-Control-Allow-Origin" ;     ///      ///  originHeaderdefault的值可以使 URL 或 *,如果是 URL 则只会允许来自该 URL 的请求,* 则允许任何域的请求     ///           ///      /// 该方法允许api支持跨域调用     ///      ///  初始化 System.Web.Http.Filters.HttpActionExecutedContext 类的新实例。      public override void OnActionExecuted( HttpActionExecutedContext actionExecutedContext)     {         actionExecutedContext.Response.Headers.Add(AccessControlAllowOrigin, originHeaderdefault);      } }
### 调用很简单
[HttpPost]    [CrossSite("http://www.bbb.com")]    public Response RemovePC(Model model)    {        //你的代码    }
### 还有一种方式 ,就是直接在web.config里添加节点 的方式解决,就是在  
节点下添加。

这种方式简单,没有安全性可言,所以得网站都可以访问你的接口。写死连接,灵活性有点差,又不利于拓展,建议使用上面的那种方式。

转载于:https://www.cnblogs.com/ksy20151123/p/6201856.html

你可能感兴趣的文章
pt-table-checksum解读【转】
查看>>
matlab中类的定义和使用
查看>>
NIO(2):Channel
查看>>
Consistent Hashing算法
查看>>
C++基础--完善Socket C/S ,实现客户端,服务器端断开重连
查看>>
lvs,nginx反向代理,虚拟主机
查看>>
jquip,更简洁的代码
查看>>
【OJ】PAT-A解题报告
查看>>
文档语法
查看>>
利用套接字实现进程通信一例
查看>>
linux中shell变量$#,$@,$0,$1,$2的含义解释
查看>>
常用的shell命令整理
查看>>
A Brief Introduction to the Design of UBIFS
查看>>
了解你的Linux系统:必须掌握的20个命令
查看>>
js setInterval 启用&停止
查看>>
knockoutJS学习笔记04:监控属性
查看>>
Linux下启动/关闭Oracle
查看>>
session和cookie的区别
查看>>
oracle 数据库、实例、服务名、SID
查看>>
web.xml文件的作用
查看>>