Angular 角度的HTTP POST请求

Angular 角度的HTTP POST请求,angular,angular-httpclient,Angular,Angular Httpclient,我在Angular中创建了一个PostQuest,代码中有以下设置 const httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json', }) }; 下面发送的“凭证”格式如下: class Login { public username: string=""; public Password: string=&quo

我在Angular中创建了一个PostQuest,代码中有以下设置

const httpOptions = {
  headers: new HttpHeaders({
    'Content-Type':  'application/json',
  })
};
下面发送的“凭证”格式如下:

class Login
    {
        public username: string="";
        public Password: string="";
        public grant_type: string="";
    }
凭据的类型为Login 电话是

return this.http.post(this.baseUrl ,JSON.stringify(Credentials),httpOptions);
   
这封信好像什么也没有寄出去

如果我使用以下命令发送

return this.http.post(this.baseUrl ,JSON.stringify(Credentials));
   
它发送信息,但内容类型被作为“文本/普通”发送,因此我收到415错误

如何正确发送此请求。 我已经用邮递员检查了API是否正确

谢谢

Alpesh

您在类上调用JSON.stringify(),而不是在对象上调用。 此外,HttpClient在内部序列化您在JSON中传递的值,所以大多数时候您不需要使用它

试一试


body
参数不应使用
JSON.stringify
进行序列化。这将由Angular
HttpClient
完成。但是
post
方法是通用的,因此使用
http.post()
将是最好的方法。我更改了post,使其读取
以返回此.http.post(此.baseUrl,凭据)
但这会发送一个空白正文。您可以在设置凭据值的位置添加代码。您正在用任何值初始化它吗?或者您只是发送空字符串。我有一个表单要求输入用户名和密码。onSubmit调用一个函数来填充凭据
let credentials=this.formData console.log('onSubmit-',credentials)。在控制台中,它显示正确的信息对不起,我粘贴错了。在这个问题上,我已经更改了我原来的代码。登录名为类,凭据类型为类
const credentials: Credentials = {
  username: '',
  Password: '',
  grant_type: ''
};
return this.http.post(this.baseUrl, credentials, httpOptions);