我不会在 Angular2 项目中使用 Web Api2 异步,但是当我尝试请求该方法时,我遇到了一些错误。
我的方法是:
private baseUrl2 ='http://localhost:50348/api/Users/GetUsers'
getuser(): Observable<IUser[]>
{
console.log(this.baseUrl2);
return this.http.get(this.baseUrl2)
.map(res => res.json())
.do(data => console.log('getuser: ' + JSON.stringify(data)))
.catch(this.handleError);
}
我在WebApi的[HttpGet]方法是:
[HttpGet]
public IEnumerable<User> GetUsers()
{
return db.Users.ToList();
}
我也配置了Microsoft.AspNetCore.Cors,在启动时.cs我放置了AllowSpecificOrigin策略:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin",
builder => builder.WithOrigins("http://localhost:50348/"));
});
}
public void Configure(IApplicationBuilder app)
{
// Shows UseCors with named policy.
app.UseCors("AllowSpecificOrigin");
}
但是当我运行我的角度项目时,一个调用方法形成角度项目,我有一个错误:
对象 { _body: 对象, 状态: 404, ok: false, statusText: "not 找到",标头:对象,类型:空,网址: "http://localhost:50348/api/Users/Ge...">
当我尝试从浏览器调用Web api方法时,而不是形成角度项目,它可以工作
[{"Country":"test","Id":1,"Name":"test","OtherInfo":"test","Surname":"test"}]
怎么了?你能帮我吗?
试试
[HttpGet]
public IEnumerable<dynamic> Get()
{
return _context.Employee.ToList();
}