无法使用Angular 7中的Post方法

时间:2019-02-25 19:06:00

标签: angular cors asp.net-core-webapi

我一直在从事Angular项目。我应该通过Web服务(ASP.NET Web API核心)从服务器获取数据的地方。因此GET方法可以完美工作,但我不能使用Post方法。我得到这个错误 enter image description here

我的发帖方式

val password: String = "..."
val aead = {
  val messageDigest = MessageDigest.getInstance("SHA-256")
  messageDigest.update(password.getBytes(CharsetNames.Utf8))
  val key256Bit = messageDigest.digest()
  val key128Bit = key256Bit.take(16)
  new AesGcmJce(key128Bit)
}

我也将此添加到了我的web.config

        [HttpPost]
    public IActionResult PostMerchandiser([FromBody] Presentent presentent)
    {
        using (var db = new DMerchContext(ClientConnectionString))
        {
            presentent.idElement = Guid.NewGuid().ToString();
            presentent.etat = 0;
            db.Add(presentent);
            db.SaveChanges();
            return Ok();
        }
    }

角度代码(服务)

<customHeaders>
 <add name="Access-Control-Allow-Origin" value="http://localhost:4200" />
 <add name="Access-Control-Allow-Headers" value="Content-Type, Accept, 
   Authorization" />
  <add name="Access-Control-Allow-Credentials" value="true" />
 <add name="Access-Control-Allow-Methods" 
  value="POST,GET,PUT,DELETE,OPTIONS" />
  <add name="Access-Control-Max-Age" value="1728000" />      
</customHeaders>

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您必须在服务器上启用/设置CORS中间件。我认为web.config仅用于IIS。

您可以按照本指南https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-2.2

为aspnetcore完成此操作

注意:是从comment复制而来的,人们可以看到解决方法