我正在研究一个MEAN堆栈项目,并且我对Angular 4有一个奇怪的问题。这个方法 WAS 过去工作,但现在不行。
我正在尝试从前端删除用户。该页面向userService.delete()发送调用,该函数向成功删除用户的后端发送请求。然后它返回200与"成功销毁"作为回应。我可以在浏览器中看到响应,但是永远不会调用promise回调来处理响应。例如:
致电服务:
this.userService.deleteUser(localStorage.getItem('email'),localStorage.getItem('auth_token'), this.userId)
.then(response => {
console.log('got response') // <== never prints
if (response == "successfully destroyed") {
window.location.href = `/admin/users`;
} else {
alert("could not delete successfully")
}
})
UserService功能:
deleteUser(email:string, auth_token:string, id:string): Promise<any> {
const body = {email: email, auth_token: auth_token, id:id};
return this.http.post('/api/users/delete', body)
.toPromise()
}
永远不会调用.then
,页面什么都不做。
提前感谢您的任何帮助:)
答案 0 :(得分:0)
自己找到答案。
由于某种原因,如果你试图单独传递一个字符串而不是一个对象/字典,那么就不会调用promise回调。 我不得不让我的服务器返回:
{
status: "successfully destroyed"
}
而不只是"successfully destroyed"
希望它可以帮助别人!