22 / 05 / 20
chrome console error
Access to XMLHttpRequest at 'https://yzj.suijitask.cn/ip' from origin 'http://localhost:4000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Nuget安装Microsoft.AspNet.WebApi.Cors
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API 配置和服务
// 不限制域名
config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
// 针对域名设置,逗号隔开
config.EnableCors(new EnableCorsAttribute("https://rocinn.github.io,http://localhost:4000", "*", "*"));
}
}
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API 配置和服务
config.EnableCors();
}
}
[System.Web.Http.Cors.EnableCors("https://rocinn.github.io,http://localhost:4000", "*", "*")]
public class CommonController : ApiController
{
}
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API 配置和服务
config.EnableCors();
}
}
public class CommonController : ApiController
{
[System.Web.Http.Cors.EnableCors("https://rocinn.github.io,http://localhost:4000", "*", "*")]
[HttpGet, Route("ip")]
public IHttpActionResult GetXXX()
{
string ip = System.Web.HttpContext.Current.Request.UserHostAddress;
return Json(new Dictionary<string, object>() { { "ip", ip } });
}
}
public class CommonController : ApiController
{
[HttpGet, Route("ip")]
public IHttpActionResult GetXXX()
{
string ip = System.Web.HttpContext.Current.Request.UserHostAddress;
// 可以设置 *, 或者指定一个域名(只能指定一个)
System.Web.HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "https://rocinn.github.io");
return Json(new Dictionary<string, object>() { { "ip", ip } });
}
}