来自Angular的Http Post请求不起作用

时间:2018-01-11 22:07:58

标签: javascript json angular post http-post

我以这种方式发送帖子请求(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网站时,在执行此功能时没有发送任何内容。(执行后,将显示该功能内的日志记录)。有人知道我做错了吗?谢谢。

1 个答案:

答案 0 :(得分:3)

没有发送任何内容,因为默认情况下observable是懒惰的。您需要订阅它们才能调用HTTP请求。

sendValues(args).subscribe(result => console.log(result))

当响应到达时,将调用传递给subscribe函数的函数。它还接受其他用于错误处理的函数和一个在流完成时调用的函数,但我留给你从文档中找出。

在RxJS中,.subscribe()基本上就像使用parans ()调用常用的JS函数一样。要执行某个功能,您需要调用它。要执行observable,您需要订阅它。