Angular 内容类型为application/json的角度post请求不起作用
我尝试使用angular发送post请求,但当我将内容类型设置为application/json时 请求内容类型始终未设置,HTTP方法始终已删除,所有已发布的数据都已从请求正文中删除 这是我的密码 这是我的请求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方法始终被删除,所有已发布的数据都将从请求正文中删除 在您共享
如果像这样设置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());