Angular 角度的HTTP POST请求
我在Angular中创建了一个PostQuest,代码中有以下设置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
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
进行序列化。这将由AngularHttpClient
完成。但是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);