Javascript 角度2异常:TypeError:';呼叫者'';被叫人';,和';参数';属性可能与严格模式函数或参数对象有关

Javascript 角度2异常:TypeError:';呼叫者'';被叫人';,和';参数';属性可能与严格模式函数或参数对象有关,javascript,angular,typescript,angular2-services,Javascript,Angular,Typescript,Angular2 Services,我在Angular 2中遇到了一个问题,我知道这是一个反复出现的问题,但我找不到解决方案。我做了一个从另一个组件调用的服务,没有问题。 问题出在服务中,我正在尝试进行http POST和get并出错: [例外:TypeError:'caller'、'callee'和'arguments'属性可能无法在严格模式函数或函数处调用它们的arguments对象上访问。remoteFunction 显然,错误是在handleErrorObservable中给出的,因为post也没有执行,查看Chrome

我在Angular 2中遇到了一个问题,我知道这是一个反复出现的问题,但我找不到解决方案。我做了一个从另一个组件调用的服务,没有问题。 问题出在服务中,我正在尝试进行http POST和get并出错: [例外:TypeError:'caller'、'callee'和'arguments'属性可能无法在严格模式函数或函数处调用它们的arguments对象上访问。remoteFunction

显然,错误是在handleErrorObservable中给出的,因为post也没有执行,查看Chrome中的network选项卡,我没有看到任何对api的post调用。 这是我的服务代码

从'@angular/core'导入{Injectable};
从'@angular/Http'导入{Http,Response,RequestOptions};
从“rxjs/Observable”导入{Observable};
导入“rxjs/add/operator/catch”;
导入'rxjs/add/operator/map';
从“/User”导入{User};
从'@angular/common/http'导入{HttpHeaders};
从'@angular/http'导入{Headers};
导入'rxjs/add/operator/map';
导入“rxjs/add/operator/catch”;
导入“rxjs/add/operator/toPromise”;
@可注射()
导出类注册服务{
usersUrl:'http://localhost:8080/TrabajoPromocion/users/';  
构造函数(私有http:http){}
addBookWithObservable():Observable{
让body=JSON.stringify({
“全名”:“a”,
“用户名”:“h”,
“密码”:“3”,
“电子邮件”:“33”
}); 
let headers=新的头({'Content-Type':'application/json'});
console.log('3');
let options=newrequestoptions({headers:headers});
返回this.http.post(this.usersUrl,body,options)
.map(此.extractData)
.catch(此.手柄不可维修);
}
私有数据(res:Response){
让body=res.json();
返回体| |{};
}
私有handleErrorObservable(错误:Response | any){
console.error(error.message | | error);
返回可观察的.throw(error.message | | error);
}

}
根据我所看到的,我可以假设你的请求没有被发送的原因是你没有调用
。subscribe
在你的任何地方都是可观察的。可观察的只是函数,在你调用它们之前它们不会被执行。这就是subscribe所做的-调用函数,然后所有的操作符都会被执行

您在开发人员工具中看到的并不是来自请求的实际错误,而是您无法在开发人员工具中查看参数、调用者或函数的被调用者的消息


因此,解决方案是简单地添加
subscribe
调用(或者异步管道也可以完成这项工作).

http已被弃用。请尝试使用http客户端。在一切开始之前,请尝试使用POSTMAN或任何其他客户端进行post调用,并查看是否收到响应。是的,它已通过POSTMAN测试,并且运行良好。现在,我需要使用Angular service发出请求。为什么要对post请求的正文进行字符串化?应该传递JS obj是的,但现在我删除了它,只是为了确保这不是问题的一部分。我看不到你订阅ObservaleThanks的部分,问题是!现在问题解决了,但是我有一个错误,帖子正在发送到404(未找到)。但这是另一个问题。谢谢你的帮助。很酷,很高兴提供帮助!