【发布时间】:2019-11-10 02:10:18
【问题描述】:
当我使用邮递员发送 post 请求时,我得到了状态为 400 的预期响应 但是当我使用 angular http.post 通过浏览器发送请求时,我只收到 400 错误而没有响应数据
这是我用 angular 发送的请求
signUp(data: {}) {
return this.http.post(this.baseUrl + '/blog/api/user/', data).pipe(
map(resp => resp),
catchError(err => {
throw err;
})
)}
我在这里控制台记录我的回复
onSubmit() {
if (!this.signupForm.valid) {
return;
}
this.authService.signUp(this.signupForm.value)
.subscribe(
resp => console.log(resp),
err => console.log(err)
);
}
【问题讨论】:
-
错误请求可能意味着您发送的数据不是后端预期的数据(可能是错误的属性名称或不同的对象结构)。你能打印你的
data看看它是否是后端所期望的吗?也可以尝试:this.http.post(this.baseUrl + '/blog/api/user/', data, {observe: 'response'})以获得完整的 POST 响应 -
我添加了 {observe: 'response'} 但它给了我相同的响应
-
实际上我自己使用 django-rest-framework 编写后端
-
后端对您的请求有何期望?与此相比,您发送的数据实际上是什么样的?
-
后端期望这样的数据{用户名:somename,电子邮件:some@email,密码:somepassword},我也提供这样的数据,后端检查用户名是否已经存在,它会给出这样的错误@ 987654329@ 状态为 400
标签: javascript node.js angular typescript django-rest-framework