參見(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)了。