没有合适的资源?快使用搜索试试~ 我知道了~
主要介绍了ASP.NET MVC中设置跨域访问问题,需要的朋友可以参考下
资源推荐
资源详情
资源评论
ASP.NET MVC中设置跨域访问问题中设置跨域访问问题
主要介绍了ASP.NET MVC中设置跨域访问问题,需要的朋友可以参考下
1、什么是跨域请求、什么是跨域请求
js禁止向不是当前域名的网站发起一次ajax请求,即使成功respone了数据,但是你的js仍然会报错。这是JS的同源策略限
制,JS控制的并不是我们网站编程出现了问题。客户端(网页)和后台编程都可以有效解决这个问题。客户端可以通过
JSONP来完成跨域访问;在ES6中为了解除同源策略问题,想出一个办法:当被请求网站为响应头respone添加了一个名为
Access-Control-Allow-Origin的header,设置其值等于发起请求网站的域名地址的话,这次请求被视为允许。其中Access-
Control-Allow-Origin的值为*时表示允许所有网站的跨域请求。
本文主要探索如何在后台代码中设置允许跨域访问。
2、在、在action中添加代码中添加代码
HttpContext.Current.Response.AppendHeader("Access-Control-Allow-Origin", "*");
3、在、在webconfig添加应用程序配置:添加应用程序配置:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
4、添加、添加action过滤器过滤器
不论webapi还是mvc的action,我们都可以重写ActionFilterAttribute过滤器的OnException方法来在action执行完成之后,为
http响应添加header头;OnException方法意为在action执行完成之后进行的操作。这个过滤器可以添加在action或者
controller上,但是这样就要为每一个action或者controller打上这个过滤器,这里将我们重写的action过滤器添加在了全局的过
滤器中,这样,每一个action在执行完成之后都会触发这个过滤器,这里以webapi为例。新建类:
/// <summary>
/// 跨域
/// </summary>
public class Cores:ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
base.OnActionExecuted(actionExecutedContext);
actionExecutedContext.Response.Headers.Add("Access-Control-Allow-Origin","*");
}
}
在webapiconfig中添加。
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API 配置和服务
// 将 Web API 配置为仅使用不记名令牌身份验证。
config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
// Web API 路由
config.MapHttpAttributeRoutes();
config.Filters.Add(new Cores());
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
总结总结
以上所述是小编给大家介绍的ASP.NET MVC中设置跨域访问问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,
小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
资源评论
weixin_38677227
- 粉丝: 4
- 资源: 929
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功