Http Post to WebApi Angular 5

时间:2018-03-31 21:32:42

标签: angular asp.net-web-api asp.net-core-webapi

我从角度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

对我而言。谢谢:))

1 个答案:

答案 0 :(得分:0)

简单启用Cors,以允许任何来源/方法等(个人项目): 1. nuget:Microsoft.AspNetCore.Cors

  1. 在configure方法中,在useMvc之前添加以下内容: app.UseCors(o => o.AllowAnyOrigin()。AllowAnyMethod()。AllowAnyMethod()。AllowCredentials());

  2. 在AddMvc之前的ConfigureServices中的
  3. ,添加以下内容: services.AddCors();