注册 登录
Office中国论坛/Access中国论坛 返回首页

zhuyiwen的个人空间 http://www.office-cn.net/?625 [收藏] [复制] [分享] [RSS]

日志

VS2012 ASP.NET WEB Api 跨域问题基础解决方案

已有 1086 次阅读2021-10-13 12:02 |个人分类:ASP.NET| WEBApi, 跨域

参见:asp.net webapi 跨域问题解决 No 'Access-Control-Allow-Origin' header i_huazaizuiaiw的专栏-CSDN博客

通过Ajax调用web api路径时报错:
No 'Access-Control-Allow-Origin' header is present on the requested resource.

VS2012 自带的web api并不能支持跨域访问,如果需要,可以更改配置来实现。

1、更改Web.config文件的<system.webServer>节中,加上如下代码
    <httpProtocol>
      <!--实现跨域-->
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*"/>
        <add name="Access-Control-Allow-Headers" value="Content-Type,Token"/>
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS"/>
      </customHeaders>
    </httpProtocol>

2、然后需要配置Global.asax文件中,插入如下代码:

/// <summary>
/// 配置Ajax跨域访问
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (Request.HttpMethod.ToUpper() == "OPTIONS")
{
Response.StatusCode = 200;
Response.End();
}
}

配置这两个文件之后,web api就可以跨域访问了。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-24 08:01 , Processed in 0.065507 second(s), 17 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部