我从角度5(localhost:4200)到我的.NET Core WebApi(localhost:55007)的请求遇到了大问题。我想我已经尝试了所有的东西而且都失败了..
情况看起来: login.service.ts
import { Injectable, Inject } from '@angular/core';
import {HttpModule, Http, URLSearchParams, Headers, RequestOptions} from
'@angular/http';
@Injectable()
export class LoginService {
constructor( public http: Http) {
}
login(email:string, password:string){
this.http.post('http://localhost:55007/Login/Login',
{email:"fooad@ds.pl",password:"loqweqko"}).subscribe(
res => {
console.log(res);
},
(err) => {
console.log(err);
}
);
}
}
webApi方法:
[Route("[controller]/[action]")]
public class LoginController : Controller
{
[HttpPost]
public object Login([FromBody] LoginDto model)
{
//something..
}
}
LoginDto的位置是:
public class LoginDto
{
[Required]
public string Email { get; set; }
[Required]
public string Password { get; set; }
}
请告诉我我做错了什么..我也试过在请求中使用json.stringify作为对象。没有什么事情发生..我总是得到404 ..(使用邮递员所有作品都是正确的,也有GET方法可行)。
--------------------------- EDIT ------------------- --------
好的,我找到了解决方案 - 问题出在CORS上,我做了同样的事情: How to enable CORS in ASP.net Core WebAPI
对我而言。谢谢:))
答案 0 :(得分:0)
简单启用Cors,以允许任何来源/方法等(个人项目): 1. nuget:Microsoft.AspNetCore.Cors
在configure方法中,在useMvc之前添加以下内容: app.UseCors(o => o.AllowAnyOrigin()。AllowAnyMethod()。AllowAnyMethod()。AllowCredentials());
,添加以下内容: services.AddCors();