后台数据是用普通Controller提供的json数据 ,已经设置跨域
services.AddCors(options =>
options.AddPolicy("any",
p => p.AllowAnyOrigin())
);
app.UseCors();
直接把地址在浏览器中输入能得到数据,但是在vue中请求数据却出现
服务器上日志发现请求已经进来了,原来2.0的时候可以获取到数据,升级到3.0出现的不能获取到数据
改用默认的 webapi接口发现一个
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
private readonly ILogger<WeatherForecastController> _logger;
public WeatherForecastController(ILogger<WeatherForecastController> logger)
{
_logger = logger;
}
[HttpGet]
public IEnumerable<WeatherForecast> Get()
{
var rng = new Random();
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = DateTime.Now.AddDays(index),
TemperatureC = rng.Next(-20, 55),
Summary = Summaries[rng.Next(Summaries.Length)]
})
.ToArray();
}
[HttpGet("index")]
public IActionResult Get(string id)
{
var data = new
{
success = true,
message = "ok"
};
return Ok(data);
}
}
调用上面自带的方法可以获取到数据,
调用下面的json格式的无法获取到数据
试试 return Json(data);
@dudu: 删除项目,重新建了3.0的项目好了,之前的是2.0升级上来的
中间件注册 app.UseCors("any");
– hellotim 5年前@hellotim: 中间件注册了 app.UseCors("any") 也是不行
– 似水阳光 5年前