我一直在从事Angular项目。我应该通过Web服务(ASP.NET Web API核心)从服务器获取数据的地方。因此GET方法可以完美工作,但我不能使用Post方法。我得到这个错误
我的发帖方式
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>
有什么建议吗?
答案 0 :(得分:1)
您必须在服务器上启用/设置CORS中间件。我认为web.config
仅用于IIS。
您可以按照本指南https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-2.2
为aspnetcore完成此操作注意:是从comment复制而来的,人们可以看到解决方法