.NETCore3.0中的CORS
我在.NET Core 3.0中开发了Web API,并通过React.js发布 在控制器中:.NETCore3.0中的CORS,cors,asp.net-web-api2,.net-core-3.0,Cors,Asp.net Web Api2,.net Core 3.0,我在.NET Core 3.0中开发了Web API,并通过React.js发布 在控制器中: [Route("api/[controller]")] [ApiController] public class AuthController : ControllerBase { [HttpPost, Route("login")] [EnableCors()] public async Task<IActionResu
[Route("api/[controller]")]
[ApiController]
public class AuthController : ControllerBase
{
[HttpPost, Route("login")]
[EnableCors()]
public async Task<IActionResult> Login([FromBody]User user)
{
//code implementation
return Ok(new { Status = "OK" });
}
}
[Route("api/[controller]")]
[ApiController]
public class AuthController : ControllerBase
{
[HttpPost, Route("login")]
[EnableCors()]
public async Task<IActionResult> Login(User user)
{
//code implementation
return Ok(new { Status = "OK" });
}
}
在React.js中
const data = {
UserName: "jack",
Password: "def@123"
};
axios
.post("https://localhost:44369/api/auth/login", {
body: JSON.stringify(data),
headers: {
"Content-Type": "application/json"
}
})
但我得到以下错误:
OPTIONS https://localhost:44369/api/auth/login 415
Access to XMLHttpRequest at 'https://localhost:44369/api/auth/login' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
PS:请知道,我尝试过各种其他方法,但不断出现一些或其他CORS错误。我能够使其按如下方式工作: 在控制器中:
[Route("api/[controller]")]
[ApiController]
public class AuthController : ControllerBase
{
[HttpPost, Route("login")]
[EnableCors()]
public async Task<IActionResult> Login([FromBody]User user)
{
//code implementation
return Ok(new { Status = "OK" });
}
}
[Route("api/[controller]")]
[ApiController]
public class AuthController : ControllerBase
{
[HttpPost, Route("login")]
[EnableCors()]
public async Task<IActionResult> Login(User user)
{
//code implementation
return Ok(new { Status = "OK" });
}
}
在React.js中:
const data = {
UserName: "jack",
Password: "def@123"
};
axios.post("https://localhost:44392/api/auth/login", data);