注冊(cè) 登錄
Office中國(guó)論壇/Access中國(guó)論壇 返回首頁(yè)

zhuyiwen的個(gè)人空間 http://m.mzhfr.cn/?625 [收藏] [復(fù)制] [分享] [RSS]

日志

VS2012 ASP.NET WEB Api 跨域問(wèn)題基礎(chǔ)解決方案

已有 1499 次閱讀2021-10-13 12:02 |個(gè)人分類:ASP.NET| WEBApi, 跨域

參見(jiàn):asp.net webapi 跨域問(wèn)題解決 No 'Access-Control-Allow-Origin' header i_huazaizuiaiw的專欄-CSDN博客

通過(guò)Ajax調(diào)用web api路徑時(shí)報(bào)錯(cuò):
No 'Access-Control-Allow-Origin' header is present on the requested resource.

VS2012 自帶的web api并不能支持跨域訪問(wèn),如果需要,可以更改配置來(lái)實(shí)現(xiàn)。

1、更改Web.config文件的<system.webServer>節(jié)中,加上如下代碼
    <httpProtocol>
      <!--實(shí)現(xiàn)跨域-->
      <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跨域訪問(wèn)
/// </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();
}
}

配置這兩個(gè)文件之后,web api就可以跨域訪問(wèn)了。

評(píng)論 (0 個(gè)評(píng)論)

facelist doodle 涂鴉板

您需要登錄后才可以評(píng)論 登錄 | 注冊(cè)

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2025-7-13 03:01 , Processed in 0.059478 second(s), 17 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部