我以这种方式发送帖子请求(baseURL是正确的,服务器上存在路径/ api / backend / valuePairs)。
sendValues(valuepairList:{x:number;fx:number}[]): Observable<boolean> {
const headers = new Headers({'Content-Type': 'application/json'});
const options = new RequestOptions({headers: headers});
console.log("sending to server: ",JSON.stringify(valuepairList)); //this seems ok too
return this.http.post(this.baseUrl + '/api/backend/valuePairs', {'data': JSON.stringify(valuepairList)}, options)
.map(FunctionapproximationService.extractData)
.catch(FunctionapproximationService.handleError);
}
但是在Inspect模式/网络中查看Chrome网站时,在执行此功能时没有发送任何内容。(执行后,将显示该功能内的日志记录)。有人知道我做错了吗?谢谢。
答案 0 :(得分:3)
没有发送任何内容,因为默认情况下observable是懒惰的。您需要订阅它们才能调用HTTP请求。
sendValues(args).subscribe(result => console.log(result))
当响应到达时,将调用传递给subscribe
函数的函数。它还接受其他用于错误处理的函数和一个在流完成时调用的函数,但我留给你从文档中找出。
在RxJS中,.subscribe()
基本上就像使用parans ()
调用常用的JS函数一样。要执行某个功能,您需要调用它。要执行observable,您需要订阅它。