Angular 内容类型为application/json的角度post请求不起作用

Angular 内容类型为application/json的角度post请求不起作用,angular,asp.net-core,angular8,angular-httpclient,angular-http,Angular,Asp.net Core,Angular8,Angular Httpclient,Angular Http,我尝试使用angular发送post请求,但当我将内容类型设置为application/json时 请求内容类型始终未设置,HTTP方法始终已删除,所有已发布的数据都已从请求正文中删除 这是我的密码 这是我的请求 如果像这样设置Accept头,就足够了 const headers = new HttpHeaders() .set('Accept', 'application/json'); 无需设置内容标题 HTTP方法始终被删除,所有已发布的数据都将从请求正文中删除 在您共享

我尝试使用angular发送post请求,但当我将内容类型设置为application/json时 请求内容类型始终未设置,HTTP方法始终已删除,所有已发布的数据都已从请求正文中删除 这是我的密码

这是我的请求


如果像这样设置Accept头,就足够了

 const headers = new HttpHeaders()
      .set('Accept', 'application/json');
无需设置内容标题

HTTP方法始终被删除,所有已发布的数据都将从请求正文中删除

在您共享的屏幕截图中,我们可以发现您捕获的请求是一个
OPTIONS
request(),而不是实际的
POST
请求。因此,您发布的数据不在请求正文中

此外,下面的代码片段在我这方面运行良好,您可以参考它

var student = {'name' : 'testuser', 'age' : 29};

const headers = new HttpHeaders().set('Content-Type','application/json');

this.http.post<Student>('https://xxxx/student',JSON.stringify(student),{headers:headers})
.subscribe(data => {
  console.log(data);
});
测试结果


我只是想扩展费汉的答案。如果您使用
asp core
作为服务器端,则应在Startup.cs中配置Cors,如下所示:

app.UseCors(x =>
    x.AllowAnyHeader()
    .AllowAnyMethod()
    .AllowAnyOrigin());

在这种情况下,数据发布到服务器,但内容类型将是纯文本,此请求将给我异常Unposered mediatype
app.UseCors(x =>
    x.AllowAnyHeader()
    .AllowAnyMethod()
    .AllowAnyOrigin());