前言:我看过类似这个错误的问题,但没有找到任何有用的东西。
这段代码究竟出了什么问题?我在阅读error => alert(error.json().message)
的行中收到错误:
this.authHttp
.patch('https://' + myConfig.domain + '/api/v2/users/' + this.auth.userProfile.user_id, data, {headers: headers})
.map(response => response.json())
.subscribe(
response => {
this.auth.userProfile = response;
localStorage.setItem('profile', JSON.stringify(response));
},
error => alert(error.json().message)
);
继承我用于第一个的数据和标题对象:
var alert = new Alert;
alert.name = this.name;
// etc....
var headers: any = {
'Accept': 'application/json',
'Content-Type': 'application/json'
};
var data: any = JSON.stringify({
user_metadata: {
alerts: [alert]
}
});
答案 0 :(得分:1)
为了更好的可见性,包括来自用户 Nitzan Tomer 的提示作为社区维基回答。
根本原因是添加了更改alert
的签名的其他代码。
在这种特殊情况下,添加名为alert
的变量会在以后尝试将alert
作为函数调用时抛出错误。